基于Hytest:
1、类的 name属性 指定 用例名
如果没有name属性,那么类名就会被当做是用例名称
类的 teststeps方法 对应 测试步骤 代码
测试步骤代码 就是自动化地 一步步执行测试用例 的程序。
所以一个类 必须要有 teststeps方法,才会被 hytest当做是一个测试用例类。
比如
#建议:类名 对应 用例编号
class UI_0101:
#测试用例名字,也建议以用例编号结尾,方便 和 用例文档对应
#也方便后面 根据用例名称 挑选执行
name = '管理员首页 - UI-0101'
#测试用例步骤
def teststeps(self):
2、STEP库函数
用来声明每个测试步骤,这样日志报告更清晰
INFO库函数
用来打印一些信息在日志和报告中,方便出现问题时定位。
当然,如果你在开发调试阶段也可以直接使用print,在终端查看内容
CHECK_POINT函数
用来声明测试过程中的每个检查点,任何一个检查点不通过,整个测试用例就被认为不通过。
3、如果我们把鼠标放在上边,就会弹出 下面的 糯米、音乐、图片 等图标。
使用 ActionChains来 模拟鼠标移动 操作的代码如下:
from selenium import webdriver
driver = webdriver.Chrome(r'f:\chromedriver.exe')
driver.implicitly_wait(5)
driver.get('https://www.baidu.com/')
from selenium.webdriver.common.action_chains import ActionChains
ac = ActionChains(driver)
#鼠标移动到 元素上
ac.move_to_element(
driver.find_element_by_css_selector('[name="tj_briicon"]')
).perform()
4、select_by_visible_text
根据选项的 可见文本 ,选择元素。
比如,下面的HTML,
Bar
就可以根据 Bar这个内容,选择该选项
s.select_by_visible_text('Bar')
5、一般时间控件是有readonely属性,这里我们可以采用执行js脚本,去掉input标签中的readonly属性,这个时候就可以直接输入时间,send_keys()。
https://upload-images.jianshu.io/upload_images/5397377-0e46c62a4b07cfa3.png?imageMogr2/auto-orient/strip|imageView2/2/format/webp
js = document.getElementById().removeAttribute("readonly")
driver.execute_script(js)
6/driver.find_element_by_css_selector(“input#username”).clear() #清空输入框内的提示信息,
例如用户名,密码等提示信息,如果直接输入内容,可能会与输入框的默认提示信息拼接,从而造成输入信息的错误,
这是clear()将会变得非常有用
7.Select类 提供了如下的方法
select_by_value
根据选项的 value属性值 ,选择元素。
比如,下面的HTML,
Bar
就可以根据 foo这个值选择该选项,
s.select_by_value('foo')
select_by_index
根据选项的 次序 (从0开始),选择元素
select_by_visible_text
根据选项的 可见文本 ,选择元素。
比如,下面的HTML,
Bar
就可以根据 Bar这个内容,选择该选项
s.select_by_visible_text('Bar')
deselect_by_value
根据选项的value属性值, 去除 选中元素
deselect_by_index
根据选项的次序,去除 选中元素
deselect_by_visible_text
根据选项的可见文本,去除 选中元素
deselect_all