自动化测试有 cypress playwrite selenium
使用selenium
from selenium import webdriver
driver = webdriver.chrome()
driver.get("http://172.16.11.39/superlogin")
driver.quit()
安装selenium
pip install selenium
手动安装浏览器驱动
1.查询浏览器版本
2.下载对应的浏览器版本
3.将浏览器驱动放在path路径下
自动化安装浏览器驱动
pip install webdriver-helper
这里安装必须指定版本,高版本的webdriver-helper需要付费无法使用‘
pip install webdriver_helper==1.0.3 -i https://pypi.mirrors.ustc.edu.cn/simple
代码
from selenium import webdriver
from webdriver_helper import get_webdriver
print(get_webdriver)
# driver = webdriver.Chrome()
driver = get_webdriver() 默认是chrome 支持firefox和IE可以传参数
driver.get("http://172.16.11.39/superlogin")
input()
# driver.quit()
对浏览器的控制
常用属性方法
maximize_window() 最大化窗口
get(url) 跳转到指定页面
refresh()刷新
back()后退
forward()前进
get_screenshot_as_png()截图的base64内容
get_screenshot_as_file(path) 截图保存到文件
current_url 网址
page_source 源码
current_window_handle 当前窗口
window_handles 所有窗口
switch_to.alert()处理弹窗
switch._to.frame('')切换框架
switch_to.window('window_name') 切换窗口
click()点击
clear()清除
send_keys(content)输入内容
get_attribute(name)获取元素的HTML属性
value_of_css_property 获取css属性
获取浏览器标题 driver.title
控制元素:
控制浏览器 WebDriver
控制元素 WebElement
selenium提供了8种策略获取元素
基于属性的定位
id
name
tag name
class name
基于文本定位
link text
partial link text
基于表达式定位
xpath
css selector
xpath会比css更好用====》
1.可读性更强
2.xpath是文档查询语言,天生兼容html
3.xpath很好根据文档层级定位
4.xpath支持灵活的语法和函数,完后才能定位
xpath
常见符号含义
* 选择所有的input元素
/ 选择当前元素
//从当前节点及其以下的任意节点中选择元素
. 当前节点
.. 父节点
@ 根据属性进行赛选元素
[n] 返回列结果第n项
常用函数
text 获取元素内的文本 //a[text()="新闻"]
contains 任意位置包含 //a[contains(text(),"o")]
starts-with 开头相同 //a[starts-with(text(),"o")]
last() 列表最后一个 //a[last()]
selenium通过面向对象的方式