公司的产品主要由 C# 编写,所以前段时间做了下自动化测试 C# 程序的预研,拿出来分享一下

工具选项及缺陷

环境搭建

  1. 安装 VS;
  2. 安装 iconpython;
  3. VS 中创建一个.net 项目;
  4. 在.net 项目中添加 iconpython 文件;
  5. 将被测 dll 移至项目中,并添加引用;

示例代码

#导入需要的python库
import clr
import msvcrt
import unittest
#导入必要的.NET库
clr.AddReferenceByPartialName("System.Windows.Forms")
clr.AddReferenceByPartialName("System.Drawing")
from System.Windows.Forms import *
from System.Drawing import *
#导入被测.NET库
clr.AddReferenceToFile("xxx.dll")
from xx.xx.xx import *
#导入其它python文件这的测试用例
from module1 import testCase3
from module2 import testCase4
#一个测试用例
class testCase1(unittest.TestCase):
    #用例执行前的准备动作
    def setUp(self):
        a=1
    #用例执行完后的清场动作
    def tearDown(self):
        a=0
    #用例主体
    def runTest1(self):
        a = xx.xxx
        b = a.ToString()
        print b
        #断言
        self.assertFalse(a)
#用例集收集
def suite():
    suite = unittest.TestSuite()
    suite.addTest(testCase1("runTest1"))
    suite.addTest(testCase3("runTest3"))
    suite.addTest(testCase4("runTest4"))
    return suite
#用例集执行
if __name__ == '__main__':
    unittest.main(defaultTest = 'suite')

测试结果

参考资料


↙↙↙阅读原文可查看相关链接,并与作者交流