lenium⾃动化测试基础知识点(全)
元素的定位的8种⽅法
①id
②name
③class name
④tag name
⑤link text
⑥partial link text
⑦xpath
⑧CSS
如果实在不知道怎么通过上述8个类型去定位,那么可以再在⽕狐浏览器47版本及以下装⼀个firebug和Xpath来快速的获取元素的定位基本语法:find_element_by_xpath("//input[@id=‘kw’]")
操作浏览器界⾯
①全屏:maximize_window(),⽆需传参
例:driver.maximize_window()
②指定⼤⼩:t_window_size(宽,⾼)
例:driver.t_window_size(480, 800)
③控制浏览器前进:forward()
例:driver.forward()
④控制浏览器后退:back()
⑤关闭标签页:driver.clo()
⑥关闭浏览器:driver.quit()
元素的基本操作
①clear() 清除⽂本,如果是⼀个⽂件输⼊框
例:driver.find_element_by_id(“idInput”).clear()
②nd_keys(*value) 在元素上模拟按键输⼊
例:driver.find_element_by_id(“idInput”).nd_keys(“urname”)
③click() 单击元素
例:driver.find_element_by_id(“loginBtn”).click()
④submit()⽅法⽤于提交表单,这⾥特别⽤于没提交按钮的情况,例如搜索框输⼊关键字之后的“回车”操作,那么就可以通过 submit()来提交搜索框的内容。
例:driver.find_element_by_id(‘query’).submit()
⑤size 返回元素的尺⼨。
例:size=driver.find_element_by_id(‘kw’).size
print size
⑥text 获取元素的⽂本。
text=driver.find_element_by_id(“cp”).text
print text
⑦get_attribute(name) 获得属性值。
例:attribute=driver.find_element_by_id(“kw”).get_attribute(‘type’)
print attribute
⑧is_displayed() 设置该元素是否⽤户可见。
收敛读音例:result=driver.find_element_by_id(“kw”).is_displayed()
单反排行榜
print result
三年级下册英语书人教版
⿏标操作事件
如:A=driver.find_element_by_id(“cp”)
①ActionChains(driver).context_click(A).perform() # 右键
雨滴吉他谱②ActionChains(driver).double_click(A).perform() # 双击
③ActionChains(driver).move_to_element(A).perform() # ⿏标悬停
④ActionChains(driver).drag_and_drop(A, target).perform() # 将source元素拖拽到target元素位
⑤ActionChains(driver).drag_and_drop(A, x, y).perform() # 将source元素相对于⾃⼰的位置拖拽
注:⿏标操作的⽅法由 ActionChains 类提供
perform() 执⾏所有 ActionChains 中存储的⾏为
键盘事件
driver.find_element_by_id(“kw”).nd_keys(“leniumm”) # 输⼊内容lenium
driver.find_element_by_id(“kw”).nd_keys(Keys.BACK_SPACE) # 退格
剑兰的花语driver.find_element_by_id(“kw”).nd_keys(Keys.SPACE) # 空格键
driver.find_element_by_id(“kw”).nd_keys(Keys.CONTROL,‘a’) # 全选输⼊框内容
driver.find_element_by_id(“kw”).nd_keys(Keys.CONTROL,‘x’) # 剪切输⼊框内容
driver.find_element_by_id(“kw”).nd_keys(Keys.CONTROL,‘v’) # 粘贴内容到输⼊框
driver.find_element_by_id(“kw”).nd_keys(Keys.CONTROL,‘c’) # 复制选中的内容
driver.find_element_by_id(“su”).nd_keys(Keys.ENTER) # 回车操作代替点击按钮
driver.find_element_by_id(“su”).nd_keys(Keys.ESCAPE) # 退出按钮
driver.find_element_by_id(“su”).nd_keys(Keys.TAB) # 制表键
driver.find_element_by_id(“su”).nd_keys(Keys.F1) # 按下键盘F1
等待函数
①driver.implicitly_wait(10) # 等待10秒钟,若提前结束就停⽌等待,若超时就抛出异常
②time.sleep(10) # 傻傻的等待10秒钟,不管是否提前结束
不同框架之间的切换
①driver.switch_to.frame(“if”) # 切换到id或者name为if的框架
②driver.switch_to.frame(frame) 若⽆法⽤name 或者 id定位到框架,则可以先⽤其他⽅式定位获取到框架元素,再将这个元素传⼊switch_to…frame()⾥,如:
1)xf = driver.find_element_by_xpath(’//*[@class=“if”]’)
2)#再将定位对象传给 switch_to_frame()⽅法
妇委会driver.switch_to_frame(xf)
③driver.switch_t() # 切换到默认的框架中
不同窗⼝的切换(弹框)
①driver.current_window_handle # 获取当前窗⼝的句柄,切换到js弹框上
②driver.window_handles # 获取所有窗⼝的句柄
③driver.switch_to.window() # 切换到某个窗⼝
警告弹框的处理
①driver.switch_to.alert() # 切换到弹框(alert、prompt、confirm)
②driver.switch_to.alert().text # 获取弹框的⽂本内容
③driver.switch_to_alert().accept() # 切换到弹框并且点击“确认”
④driver.switch_to.alert().dismiss() # 切换到弹框并且点击“取消”
⑤driver.switch_to.alert().ndkeys(‘hello’) # 切换到弹框并且在输⼊框中输⽂件上传
#打开上传功能页⾯
file_path = ‘file:///’ + os.path.abspath(‘upfile.html’)
<(file_path)
红糖茶
#定位上传按钮,添加本地⽂件
driver.find_element_by_name(“file”).nd_keys(‘D:\’)调⽤JS
①js=“var q=document.documentElement.scrollTop=10000”
幽默故事精选编写js代码:将页⾯的滚动条向下移动10000px
#执⾏上⾯的JS语句
②#将页⾯滚动条拖到底部
js=“var q=document.documentElement.scrollTop=10000”
time.sleep(3)
③#将滚动条移动到页⾯的顶部
js_=“var q=document.documentElement.scrollTop=0”
time.sleep(3)
错误窗⼝截图