UI自动化测试:Python(unittest) + Selenium + HTMLTestRunner

本文介绍了使用Python的Selenium库进行UI自动化测试,包括WebDriver的使用,元素定位和操作。接着讲解了unittest框架,如何创建测试用例,以及测试结果的断言。最后,引入HTMLTestRunner生成详细的测试报告。
摘要由CSDN通过智能技术生成

一、Selenium

selenium在线文档:https://www.selenium.dev/documentation/zh-cn/

1.1 WebDriver

selenium的核心是WebDriver,通过WebDriver驱动浏览器的自动化。不同浏览器有各自对应的WebDriver。

WebDriver组件[From 在线文档]:

在这里插入图片描述

webdriver.Chrome()流程:
  • 启动ChromeDriver;driver可以通过环境变量配置,OR 在接口中通过参数executable_path指定driver的位置
  • ChromeDriver中创建session,并返回该session,打开浏览器
  • 后续就可以基于这个session打开url、定位element等
Electron封装的桌面应用:初始化过程

因为Electron框架本身支持selenium,故以下方案可行得通:

options = webdriver.ChromeOptions()
options.binary_location = [PC应用启动的exe 绝对路径]

cap = DesiredCapabilities.CHROME
cap['loggingPrefs'] = {
   'browser': 'ALL'}

driver_path = [ChromeWebDrive 所在路径]
self.driver = webdriver.Chrome(executable_path=driver_path,
	options=options, desired_capabilities=cap)
Qt构建的web桌面应用

有一个开源的QtWebDriver据说是支持Qt应用 适用selenium做UI自动化测试的,但是我使用QtWebDriver尝试启动 Qt5.13的PC应用,启动失败或者启动成功获取session失败,不能按照Electron的思路进行UI自动化。
另一种思路:手动启动Qt构建的web桌面应用,然后通过初始页面的url转换成web应用的UI自动化测试;实践证明该方案可行;但是不能同时在浏览器和客户端操作前端页面,不然会导致端口冲突。

1.2、元素定位

selenium提供的元素定位方式有:html元素的id、class、name、css selector、xpath。
如何确定元素的上述属性呢?以Google浏览器为例说明:在浏览器中打开被测页面,开启F12调试模式,切换到[Elements]tab页,找到需要被定位的元素—>右键—>Copy,就可以复制元素

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值