365体育盘口

当前位置:365体育盘口 > 人力资源 >

自动化测试之电商管理系统元素定位练习

本次专题我们来说一下 Python中Unittest 框架的使用及如何通过HTMLTestRunner实现自动化测试报告的自动生成。案例中的代码我们仍旧使用课堂学习中部署的“电商管理系统”来实现。本次练习包括以下几个操作:

Unittest原名为PyUnit,是由java的JUnit衍生而来,用于编写和运行可重复的测试。基于断言机制来判断函数或方法的实际输出结果和期望输出结果是否一致,测试用例提供参数来执行函数或方法,获取它们的执行结果,然后使用断言方法来判断该函数或方法的输出结果与期望输出结果是否一致,如果一致则说明测试通过;如果不一致则说明测试不通过。

Unittest 要求单元测试类必须继承 TestCase,该类中的测试方法应以test开头,没有参数和返回值。另外可以通过在单元测试中增加两个特殊函数setUp()和tearDown()函数,用于实现在每调用一个测试方法的前后分别执行指定的动作,其中setUp是在测试函数调用前执行,tearDown是在之后执行。

我们首先为登录功能编写一个测试用例,代码结构如下,一共演示包括三个测试方法:

接下来我们完成测试用例内容的实现。按照上面的结构,一共实现两个测试用例,一个登录的测试用例,一个增加商品类型的测试用例。

登录测试用例。这里将系统登录页面的打开和关闭功能分别封装进setUp和tearDown函数内部,这样后续每个方法执行的前后会自动打开登录页面并在测试执行之后关闭登录页面。

增加商品类型测试用例。这里将系统登录和退出及关闭浏览器功能分别封装进setUp和tearDown函数内部,这样后续每个方法执行的前后会自动完成登录并在测试执行之后退出和关闭登录页面。

对于测试用例的执行,我们使用unittest下面的测试套件类TestSuite,从它的类定义来看,可以理解为多个独立的测试用例(test case)可以构成一个测试套件。

想让测试用例按顺序执行,要用到TestSuite类的addTest方法。调用addTest方法后,先添加的先执行,后添加的后执行。但是这里提请大家注意一下,在PyCharm中,addTest方法并没有起到作用,原因是在PyCharm中,引入了unittest模块,会默认按照unittest模式执行,此时需要将unittest模式转换成普通模式。

我们在做自动化测试的时候,希望能生一张漂亮的测试报告来展示用例执行的结果,这里我们使用HTMLTestRunner来实现。HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告。



相关阅读:365体育盘口
e