博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于selenium的pyse自动化测试框架
阅读量:6836 次
发布时间:2019-06-26

本文共 2609 字,大约阅读时间需要 8 分钟。

 

介绍:

pyse基于selenium(webdriver)进行了简单的二次封装,比selenium所提供的方法操作更简洁。

 

特点:

  • 默认使用CSS定位,同时支持多种定位方法(id\name\class\link_text\xpath\css)。
  • 本框架只是对selenium(webdriver)原生方法进行了简单的封装,精简为大约30个方法,这些方法基本能够胜任于我们的web自动化测试。
  • 以测试类为单位,自动打开和关闭浏览器,减少浏览器的打开/关闭次数,节省时间。
  • 自动生成/report/目录,以及HTML测试报告生成。
  • 自带断言方法,断言title、URL 和 text。

 

安装说明:

  • Python3.5+ : https://www.python.org/
  • Selenium3.6.0+ : https://pypi.python.org/pypi/selenium

进入pyse/目录,执行:

> python setup.py install

 

例子:

请查看demo/test_case.py目录

import pyseclass BaiduTest(pyse.TestCase):    def test_baidu(self):        ''' baidu search key : pyse '''        self.open("https://www.baidu.com/")        self.type("#kw", "pyse")        self.click("#su")        self.assertTitle("pyse_百度搜索")if __name__ == '__main__':    runner = pyse.TestRunner()    runner.run()

运行测试用例说明:

  • 测试用例文件命名必须以“__test__”开头。
  • 默认情况下使用 __Chrome__ 浏览器运行测试用例。
  • 元素定位方式默认使用 CSS 语法 `#kw`, 也可以显示的使用 `css=>#kw`。
  • pyse的TestCase类中默认封装了`assertTitle`、`assertUrl` 和 `assertText`等断言。
  • `TestRunner()` 默认匹配当前目录下"test*.py"的文件并执行。当然也可以指定测试目录,例如:TestRunner("path/you/project/test_case/") # 注意用斜线"/"表示路径。
  • 执行`run()`方法运行测试用例并生成测试报告,在调试测试用例过程中可以使用 `debug()` 方法将不会生成HTML测试报告。

支持的浏览器及驱动:

指定运行的浏览器:

import pyseclass YouTest(pyse.TestCase):    @classmethod    def setUpClass(cls):        cls.driver = Pyse("chrome")    def test_case(self):        #……

 

支持的浏览器:

cls.driver = Pyse("firefox") #Firefoxcls.driver = Pyse("chrome") # Chromecls.driver = Pyse("ie") #IEcls.driver = Pyse("opera") #Operacls.driver = Pyse("edge") #Edgecls.driver = Pyse("chrome_headless") #Chrome headless模式

 

浏览器驱动下载地址:

geckodriver(Firefox):https://github.com/mozilla/geckodriver/releases

Chromedriver(Chrome):https://sites.google.com/a/chromium.org/chromedriver/home

IEDriverServer(IE):http://selenium-release.storage.googleapis.com/index.html

operadriver(Opera):https://github.com/operasoftware/operachromiumdriver/releases

MicrosoftWebDriver(Edge):https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver

==========================================================

#### 元素定位:

pyse支持多种定位方式,id、name、class、link text、xpath和css。把定位方法与定位内容一体,写起更加简洁。

 

定位方式(推荐使用 CSS):

# 默认支持CSS语法driver.type(".s_ipt","pyse") #cssdriver.type("#su","pyse") #cssdriver.type("id=>kw", "pyse") #iddriver.type("class=>s_ipt", "pyse") #class定位driver.type("name=>wd", "pyse") #namedriver.type("xpath=>//*[@class='s_ipt']","pyse") #xpathdriver.type("xpath=>//*[@id='kw']","pyse") #xpathdriver.click_text("link_text=>新闻") #link text (点击百度首页上的"新闻"链接)

 

==========================================================

css选择器参考手册:

http://www.w3school.com.cn/cssref/css_selectors.asp

#### 测试报告

 

转载地址:http://cyqkl.baihongyu.com/

你可能感兴趣的文章
手动构建CL210环境——packstack部署vlan模式
查看>>
随机生成UserAgent的python库(fake-useragent库)
查看>>
HTML5 标签、事件句柄属性以及浏览器兼容情况速查手册
查看>>
NSMutableArray可变数组
查看>>
Missing value auth-url required for auth plugin password
查看>>
PowerShell获取服务器本地服务状态
查看>>
禁止弹出输入法
查看>>
rsync 文件同步 服务器和客户端配置
查看>>
关于jvm的读书笔记-性能监控工具
查看>>
FlipViewPager 对item实现左右对折滑动翻页效果《IT蓝豹》
查看>>
Leetcode日记5
查看>>
时间:2014年4月11日22:15:47 session 概念
查看>>
我的友情链接
查看>>
教育“优先”,落实才是关键
查看>>
传统IT大佬们,路在何方?
查看>>
基础练习
查看>>
shell学习笔记 (9.3)
查看>>
用chrome在电脑上模拟微信内置浏览器
查看>>
PHP获取常用时间的总结
查看>>
设计模式6大原则:里氏置换原则
查看>>