一、浏览器控制
模拟功能测试中对浏览器的操作
1.1、打开网页
- get方法打开浏览器
def open_browser():
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
time.sleep(1)
1.2、刷新
- refresh方法刷新页面
# 刷新网页
driver.refresh()
1.3、回退
- 用back方法回退到上一个界面
driver.back()
1.4、最大化
- maximize_window方法使窗口最大化
driver.maximize_window()
1.5、最小化
- minimize_window方法使窗口最小化
driver.minimize_window()
二、常见定位方法
2.1、HTML铺垫
- 标签:
<a>
- 属性:href
- 类属性: class
2.2、Selenium八大定位方式
Selenium提供了八种定位方式
Locator strategies | Selenium
序号 | 方式 | 描述 |
---|---|---|
1 | class name | class 属性对应的值 |
2 | css selector(重点) | css 表达式 |
3 | id(重点) | id 属性对应的值 |
4 | name(重点) | name 属性对应的值 |
5 | link text | 查找其可见文本与搜索值匹配的锚元素 |
6 | partial link text | 查找其可见文本包含搜索值的锚元素。如果多个元素匹配,则只会选择第一个元素。 |
7 | tag name | 标签名称 |
8 | xpath(重点) | xpath表达式 |
2.3、常用定位方式练习
示例,两种方式作用一模一样
官方建议使用下面的方式
driver.find_element_by_id("su")
driver.find_element(By.ID, "su")
def web_locate():
driver = webdriver.Chrome()
driver.implicitly_wait(3)
driver.get("https://vip.ceshiren.com/#/ui_study")
driver.find_element(By.ID, "openWindows")
driver.quit()
三、常见交互方法
3.1、元素操作
- 点击:click()
- 输入:send_keys()
- 清空:clear()
# 点击搜索框
driver.find_element(By.ID,"kw").click()
# 输入"霍格沃兹测试开发"
driver.find_element(By.ID,"kw").send_keys("霍格沃兹测试开发")
# 清空搜索框中信息
driver.find_element(By.ID,"kw").clear()
3.2、获取元素属性信息
- 获取元素属性信息
- 原因:
- 定位到元素后,获取元素的文本信息,属性信息等
- 目的:
- 根据这些信息进行断言或者调试
- 演练地址: 霍格沃兹测试开发