自动化测试基础(二)
selenium基本操作
刷新:refresh
获取当前窗口大小:get_window_size()
设置窗口大小: set_winow_size(‘width’,height)
最大化窗口:maximize_window()
最小化窗口:minimize_window()
获取窗口个数:get_handles
切换窗口:switch_to.hanles(handle)
前进:forward
后退:back
关闭浏览器:close()
退出浏览器:quit()
键盘操作:Tab、Enter
1.先导入selenium中的class:Key
Tab:driver.find_element_by_xpath("").send_keys(K
eys.TAB)
Enter:driver.find_element_by_xpath("").send_keys(
Keys.ENTER)
鼠标操作
ActionChains原理:
调用该类里面的方法是,不会立即执行,将需要执行的动作按顺序存放在一个列队里,
调用 perform()方法时,依次执行列队里的动作
双击、拖拽、鼠标移动
双击:double_click
拖拽: drag_and_drop
点击鼠标左键不松开:click_and_hold
松开鼠标左键: release
鼠标移至某个元素:move_to_element
元素定位
对于对于 Web 自动化测试来说,就是操作页面上的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素
selenium常见定位元素8种方法:
Id
Name
Classname
Tagname
linkText
partialLinkText
Xpath
cssSelector
xpath
xpath:path就是路路径,类似文件夹Desktop/
classnotes/
绝对路径定位:copy xpath
缺点:当页面元素父级元素发生改变,页面元素的位置
发生改变时,都需要修改
相对路径定位:以//开头+标签名
优点:长度和标签开始的位置并不受限制,稳定且万能
定义
// :表⽰相对路径
* :标签名任意
/.. :表⽰找上级
/ :表⽰找下级
@:标签属性定位
() :text的值
SVG
可伸缩矢量量图形 (Scalable Vector Graphics)
定位svg元素,需要用到xpath里面的name()方法:
例如:*[name()='svg']
frame标签
framef标签有三种:frameset、frame、iframe
frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素'''
通过switch_to_frame(id,name,frame的xpath)
跳出frame:switch_to_default_content()