WebUI⾃动化测试框架Seldom实战⼀
1、Seldom简介
Seldom是基于selenium 和 unittest 的 Web UI⾃动化测试框架。
提供更加简单API编写⾃动化测试。
提供脚⼿架,快速⽣成⾃动化测试项⽬。
全局启动和关闭浏览器,减少浏览器的启动次数。
⽀持⽤例参数化。
⽀持⽤例失败/错误重跑。
定制化HTML测试报告,⽤例失败/错误⾃动截图。
⽀持XML测试报告
2、Seldom 安装
2.1、快速安装
⽬前已经上传 ,可以使⽤pip命令安装。
> pip install seldom
2.2、体验最新代码
如果你想随时体验最新的代码,可以使⽤下⾯的命令。
> pip install -U git+github/defnngj/seldom.git@master
2.3、如果需要对Seldeom进⾏⼆次开发,则可以克隆git项⽬下来进⾏⼆次开发
$ git clone github/SeldomQA/seldom.git
3、seldom创建项⽬
3.1、创建⼀个python⽂件test_sample.py。
import seldom
class BaiduTest(seldom.TestCase):
def test_case(self):
"""a simple test case """
self.open("www.baidu")
self.click(css="#su")
self.assertTitle("seldom_百度搜索")
if__name__ == '__main__':
seldom.main("test_sample.py")
3.2、seldom提供了脚⼿架,可以快速的帮我们创建Web UI⾃动化项⽬。
> seldom --project mypro
4、seldon浏览器与驱动
4.1、在seldom中需要只需要修改⼀个配置即可设置浏览器。不仅⽀持浏览器,还⽀持 Mobile web 模式,⽀持的phone和pad类型如下:PHONE_LIST = [
'iPhone 5', 'iPhone 6', 'iPhone 7', 'iPhone 8', 'iPhone 8 Plus',
'iPhone X', 'Pixel 2', 'Pixel XL', "Galaxy S5"
]
PAD_LIST = ['iPad', 'iPad Pro']
在main()⽅法中通过browser参数设置不同的浏览器,默认为Chrome浏览器。
import seldom
if__name__ == '__main__':
seldom.main(browser="chrome") # chrome浏览器,默认值
seldom.main(browser="firefox") # firefox浏览器
seldom.main(browser="ie") # IE浏览器
seldom.main(browser="opera") # opera浏览器
seldom.main(browser="edge") # edge浏览器
seldom.main(browser="safari") # safari浏览器
seldom.main(browser="chrome_headless") # chrome浏览器headless模式
seldom.main(browser="firefox_headless") # Firefox浏览器headless模式
seldom.main(browser="iPhone 6") # iPhone 6 ⼿机浏览器展⽰
4.2、开启headless模式,Firefox和 Chrome浏览器⽀持headless模式,即将浏览器置于后台运⾏,这样不会影响到我们在测试机上完成其他⼯作。
import seldom
from seldom import ChromeConfig
#只需要将 ChromeConfig 类中的 headless 设置为 True即可, Firefox浏览器配置⽅法类似。
if__name__ == '__main__':
ChromeConfig.headless = True
seldom.main(browser="chrome")
4.3、开放Chrome浏览器配置能⼒,seldom为了更加⽅便的使⽤驱动,屏蔽了浏览器的配置,但架不住部分个性化的需求,⽐如禁⽤浏览器插件,设置浏览器代理等。所以,通过ChromeConfig类的参数来开放这些能⼒。
例如,浏览器忽略⽆效证书的问题。
import seldom
from seldom import ChromeConfig
from selenium.webdriver import ChromeOptions
if__name__ == '__main__':
chrome_options = ChromeOptions()
chrome_options.add_argument('--ignore-certificate-errors') # 忽略⽆效证书的问题
ChromeConfig.options = chrome_options
seldom.main(browser="chrome")
4.4、⽀持远程节点(Selenium Grid)
import seldom
from seldom import ChromeConfig
# 需要先下载selenium-server,然后启动服务java -jar selenium-server-standalone-3.141.59.jar
if__name__ == '__main__':
ChromeConfigmand_executor = "127.0.0.1:4444/wd/hub"
seldom.main(browser="chrome")
5、seldom main() ⽅法
main()⽅法是seldom运⾏测试的⼊⼝, 很多重要的配置都是通过这个⽅法完成。
import seldom
"""
path :指定测试⽬录或⽂件。
browser : 指定测试浏览器,默认Chrome。
report : ⾃定义测试报告的名称,默认格式为2020_04_04_11_55_20_result.html
title :指定测试报告标题。
description :指定测试报告描述。
debug : debug模式,设置为True不⽣成测试HTML测试,默认为False。
rerun : 设置失败重新运⾏次数,默认为 0。
save_last_run : 设置只保存最后⼀次的结果,默认为False。
timeout : 设置超时时间,默认10秒
xmlrunner: 设置为 True ,⽣成XML格式的报告。不⽀持同时⽣成HTML和 XML 两种格式的报告。web布局框架
"""
if__name__ == '__main__':
seldom.main(path="./",
browser="chrome",
report=None,
title="百度测试⽤例",
description="测试环境:chrome",
debug=False,
rerun=0,
save_last_run=False, timeout=None,
xmlrunner=False
)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论