抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > selenium+unittest自动化测试(一)---环境搭建及用例编写规则

selenium+unittest自动化测试(一)---环境搭建及用例编写规则

时间:2018-12-02 09:57:31

相关推荐

目录

一、selenium、unittest简介

二、环境搭建

1、安装selenium库

2、安装unittest2框架

3、安装浏览器驱动

三、编写规则

1、测试类

2、以test开头

3、setup和teardown

4、如何让多个用例共享setup、teardown

5、setUp中实现用例之间共享变量

6、如何实现参数化

7、如何跳过用例

8、常用的断言方法

9、如何运行测试用例

10、示例

一、selenium、unittest简介

Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。

unittest是单元测试框架,不仅适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,断言,其实就是对测试结果进行校验。

二、环境搭建

1、安装selenium库

首先要准备好python环境,然后在此基础上安装selenium库,安装命令:

pip install selenium

2、安装unittest2框架

安装命令:pip install unittest2

3、安装浏览器驱动

chromedriver下载地址:/mirrors/chromedriver/

我的chrom浏览器是76.0.38.09.132(64位)版本的,经过测试chromedriver76.0.3809.126版本能够正常使用。

三、编写规则

1、测试类

编写测试用例时,我们需要编写一个测试类,从unittest.TestCase继承。

2、以test开头

以test开头的方法就是测试方法,不以test开头的方法不被认为是测试方法,测试的时候不会被执行。

3、setup和teardown

可以在单元测试中编写两个特殊的setUp()和tearDown()方法。这两个方法会分别在每调用一个测试方法的前后分别被执行。

4、如何让多个用例共享setup、teardown

unittest的setup、teardown会在每个用例执行前后各执行一次。如果只需执行一次,可以使用setupclass, teardownclass,注意@classmethod的使用。

5、setUp中实现用例之间共享变量

setupclass里设置globals().[“xxx”]变量,不同用例之间可以实时共享参数变动

setupclass里设置 ClassName.XXX变量,不同用例之间可以实时共享参数变动

6、如何实现参数化

@parameterized.expend([param("sss"),])

7、如何跳过用例

@unittest.skip(reason)@unittest.skipif(condition, reason)@unittest.skipUnless(condition, reason)@unittest.expectedFailure

8、常用的断言方法

assertTrue assertEqual

9、如何运行测试用例

python -m unittest Web_check.py

10、示例

import unittest2import selenium import webdriverfrom parameterized import parameterized,paramclass webcheck(unittest2.TestCase):"""界面登录测试"""@classmethoddef setUp(cls):# 打开浏览器cls.driver = webdriver.Chrome()# 将浏览器设置为占满整个屏幕cls.driver.maxmize_window()#访问网页cls.driver.get('https://xxx')@parameterized.expand([param("hillwill_wxt", "123456")])def test_openit(self, user, password):# 找到name为userName的元素,并输入用户名hillwill_wxtself.driver.find_element_by_name("userName").send_keys(user)# 找到name为password的元素,并输入密码123456self.driver.find_element_by_name("password").send_keys(password)# 点击登录按钮self.driver.find_element_by_xpath("//*[@id='app']/div[2]/div/ng-include/div/div/div/form/div[2]/button").click()@classmethoddef tearDown(cls):cls.driver.close()if __name__=='__main__':unittest2.main()

如果觉得《selenium+unittest自动化测试(一)---环境搭建及用例编写规则》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。