100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 自动化测试(定位元素的方式 浏览器操作)

自动化测试(定位元素的方式 浏览器操作)

时间:2019-10-21 04:54:00

相关推荐

自动化测试(定位元素的方式 浏览器操作)

自动化测试

1.定位元素的方式2.浏览器操作2.1浏览器最大化2.2浏览器高宽2.3浏览器前进后退2.4浏览器滚动2.5键盘按键2.6键盘组合键2.7鼠标事件双击,右击2.8定位一组元素2.9多层框架的定位2.10层级定位2.11下拉框处理2.12alert处理2.13div定位2.14上传文件

1.定位元素的方式

id,name,class name,link text,partial lin text,tag name,xpath,css selector

from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("/")# 通过元素id(全局唯一)定位元素,然后对元素进行操作# class name有可能不唯一,id全局唯一# driver.find_element_by_id("kw").send_keys("杨舒予")# driver.find_element_by_name("wd").send_keys("杨舒予")# driver.find_element_by_class_name("s_ipt").send_keys("杨舒予")# driver.find_element_by_id("su").click()# link text定位# driver.find_element_by_link_text("视频").click()# partial_link_text部分内容# driver.find_element_by_partial_link_text("视").click(# tag name,不是唯一的# driver.find_element_by_tag_name("input").send_keys("焦迈奇")# driver.find_element_by_tag_name("input").click()# xpath# driver.find_element_by_xpath("//*[@id='kw']").send_keys("沈以诚")# driver.find_element_by_xpath("//*[@id='su']").click()#css selectordriver.find_element_by_css_selector("#kw").send_keys("花瓣")driver.find_element_by_css_selector("#su").click()time.sleep(8)# 关闭驱动driver.quit()

2.浏览器操作

2.1浏览器最大化

driver.maximize_window()

2.2浏览器高宽

driver.set_window_size(100,100)

2.3浏览器前进后退

driver.back() driver.forward()

2.4浏览器滚动

js1 = "var q=document.documentElement.scrollTop=10000"driver.execute_script(js1)

2.5键盘按键

#先导包from mon.keys import Keys

2.6键盘组合键

from selenium import webdriverimport timefrom mon.keys import Keysdriver = webdriver.Chrome()driver.get("/")driver.maximize_window()driver.find_element_by_id("kw").send_keys("杨舒予")driver.find_element_by_id("su").submit()time.sleep(3)#全选driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')#剪贴driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')time.sleep(3)driver.find_element_by_id("kw").send_keys("杨洋")driver.find_element_by_id("su").submit()time.sleep(5)driver.quit()

2.7鼠标事件双击,右击

from selenium import webdriverimport timefrom mon.keys import Keysfrom mon.action_chains import ActionChainsdriver = webdriver.Chrome()driver.get("/")driver.maximize_window()driver.find_element_by_id("kw").send_keys("杨舒予")driver.find_element_by_id("su").submit()time.sleep(3)#右击百度一下按钮loacte=driver.find_element_by_id("su")ActionChains(driver).context_click(loacte).perform()time.sleep(3)driver.find_element_by_id("kw").clear()#双击百度一下按钮driver.find_element_by_id("kw").send_keys("123")btn=driver.find_element_by_id("su")ActionChains(driver).double_click(btn).perform()time.sleep(3)driver.quit()

2.8定位一组元素

from selenium import webdriverimport timeimport osdriver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/路径/一.html")driver.get(url)time.sleep(3)# driver.find_element_by_id("c1").click()# driver.find_element_by_id("c2").click()# driver.find_element_by_id("c3").click()# driver.find_element_by_id("c4").click()inputs=driver.find_elements_by_tag_name("input")for input in inputs:if input.get_attribute('type')=="checkbox":input.click()time.sleep(3)driver.quit()

2.9多层框架的定位

from selenium import webdriverimport timeimport osdriver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/路径/frame.html")driver.get(url)driver.maximize_window()driver.switch_to.frame("f1")driver.find_element_by_link_text("click").click()time.sleep(3)time.sleep(3)# driver.quit()

2.10层级定位

from selenium import webdriverimport timeimport osfrom mon.action_chains import ActionChainsdriver = webdriver.Firefox()url = "file:///" + os.path.abspath("E:/路径/level_locate.html")driver.get(url)driver.maximize_window()time.sleep(3)driver.find_element_by_link_text("Link1").click()time.sleep(3)btn=driver.find_element_by_link_text("Another action")ActionChains(driver).move_to_element(btn).perform()time.sleep(6)driver.quit()

2.11下拉框处理

from selenium import webdriverimport timeimport osfrom mon.action_chains import ActionChainsdriver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/啊大学学习/大三课程/上课笔记/测试/selenium2html/drop_down.html")driver.get(url)driver.maximize_window()time.sleep(3)#tag nameoptions=driver.find_elements_by_tag_name("option")# for option in options:#if option.get_attribute('value')=="10.69":# option.click()# #css selector# driver.find_element_by_css_selector("#ShippingMethod > option:nth-child(3)").click()#数组的方式定位options[2].click()time.sleep(6)driver.quit()

2.12alert处理

from selenium import webdriverimport timeimport osfrom mon.action_chains import ActionChainsdriver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/路径/alert.html")driver.get(url)driver.maximize_window()time.sleep(3)driver.find_element_by_id("tooltip").click()time.sleep(3)#获取弹出框alert=driver.switch_to.alert#关闭弹出框alert.accept()time.sleep(3)driver.quit()

from selenium import webdriverimport timeimport osfrom mon.action_chains import ActionChainsdriver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/路径/send.html")driver.get(url)driver.maximize_window()time.sleep(3)driver.find_element_by_tag_name("input").click()time.sleep(3)#获取弹出框alert=driver.switch_to.alertalert.send_keys("杨赛")time.sleep(3)#关闭弹出框alert.accept()time.sleep(3)driver.quit()

2.13div定位

from selenium import webdriverimport timeimport os driver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/路径/modal.html")driver.get(url)driver.maximize_window()time.sleep(3)driver.find_element_by_id("show_modal").click()time.sleep(3)driver.find_element_by_id("click").click()time.sleep(3)# 定位divdiv=driver.find_element_by_class_name("modal-footer")#在定位一族元素buttons=div.find_elements_by_tag_name("button")#点击closebuttons[0].click()time.sleep(3)driver.quit()

2.14上传文件

from selenium import webdriverimport timeimport osdriver = webdriver.Chrome()url = "file:///" + os.path.abspath("E:/路径/upload.html")driver.get(url)driver.maximize_window()#上传文件driver.find_element_by_tag_name("input").send_keys("E:\\路径\\1.png")time.sleep(3)driver.quit()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。