#通过一个Python 脚本来验证Selenium 测试环境是否搭建成功。 from selenium import webdriver #谷歌浏览器测试方法 browser = webdriver.Chrome() browser.get('http://www.baidu.com/')
使用senenium工具 编写测试脚本步骤: - 准备 导入selenium的驱动模块 - 步骤1:创建浏览器对象 - 步骤2:打开被测试软件的网址 - 步骤3:查找元素,对元素进行操作 - 输入内容 send_keys(' 内容') - 清空内容 clear( ) - 获取内容 text或get_attribute("value") - 点击 click()
#需求: 打开百度首页,对进行一次百度查询操作 from selenium import webdriver from time import sleep #1.创建浏览器对象 wb=webdriver.Chrome() #2.打开被测软件的网址 wb.get("https://www.baidu.com") #最大化 wb.maximize_window() #元素定位方法 #----1.id定位------ def baidu_byid(): #3.查找并定位要操作的元素 #----输入框,输入内容:武汉天气 #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> wb.find_element("id","kw").send_keys("武汉天气") #<input type="submit" id="su" value="百度一下" class="bg s_btn"> #----百度一下的按钮,点击 wb.find_element("id","su").click() #----2.name定位------ def baidu_byname(): #3.查找并定位要操作的元素 #----输入框,输入内容:武汉天气 #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> wb.find_element("name","wd").send_keys("武汉天气") #<input type="submit" id="su" value="百度一下" class="bg s_btn"> #----百度一下的按钮,点击(没有name属性,使用id) wb.find_element("id","su").click() #----3.class_name定位(类选择器定位)------ def baidu_byclass_name(): #3.查找并定位要操作的元素 #----输入框,输入内容:武汉天气 #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> wb.find_element("class name","s_ipt").send_keys("武汉天气") #<input type="submit" id="su" value="百度一下" class="bg s_btn"> #----百度一下的按钮,点击(没有name属性,使用id) wb.find_element("class name","bg.s_btn").click() #----4.tag_name定位(标签名称来定位)------ def baidu_bytag_name(): #3.查找并定位要操作的元素 #----输入框,输入内容:武汉天气 #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> wb.find_elements("tag name","input")[7].send_keys("武汉天气") #<input type="submit" id="su" value="百度一下" class="bg s_btn"> #----百度一下的按钮,点击(没有name属性,使用id) wb.find_elements("tag name","input")[8].click() #----5.link_text定位(只能使用精准的匹配(a标签的全部文本内容))------ def baidu_bylink_text(): #3.查找并定位要操作的元素 #定位百度首页的导航菜单中的新闻和hao123 #----百度一下的按钮,点击 wb.find_element("link text","新闻").click() # ----百度一下的按钮,点击 wb.find_element("link text", "hao123").click() #----6.partial_link_text定位(可以使用精准或模糊匹配,如果使用模糊匹配最好能使用可以唯一关键字,如果有多个值,默认返回第一个值)------ def baidu_bypartial_link_text(): # 3.查找并定位要操作的元素 # 定位百度首页的导航菜单中的新闻和hao123 # ----百度一下的按钮,点击 wb.find_element("partial link text", "hao").click() # ----百度一下的按钮,点击 wb.find_element("partial link text", "新").click() #----7.css_selector定位(标签名称来定位)------ def baidu_bycss_selector(): #3.查找并定位要操作的元素 #----输入框,输入内容:武汉天气 #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> wb.find_element("css_selector","input#kw").send_keys("武汉天气") #<input type="submit" id="su" value="百度一下" class="bg s_btn"> #----百度一下的按钮,点击(没有name属性,使用id) wb.find_element("css_selector","input#su").click() #----8.xpath定位(标签名称来定位)------ def baidu_byxpath(): #3.查找并定位要操作的元素 #----输入框,输入内容:武汉天气 #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> #wb.find_element("xpath","//form[@id='form']/span[1]/input").send_keys("武汉天气") wb.find_element("xpath", "//input[@id='kw']").send_keys("武汉天气") #wb.find_element("css selector","form#form>span:nth-child(8)>input").send_keys("武汉天气") #暂停1秒 sleep(1) #<input type="submit" id="su" value="百度一下" class="bg s_btn"> #----百度一下的按钮,点击(没有name属性,使用id) #wb.find_element("xpath","//form[@id='form']/span[2]/input").click() wb.find_element("xpath", "//input[@id='su']").click() #wb.find_element("css selector", "form#form>span:nth-child(9)>input").click() # 暂停1秒 sleep(1) #关闭网页 wb.quit() if __name__ == '__main__': baidu_byid() baidu_byname() baidu_byclass_name() baidu_bytag_name() baidu_bylink_text() baidu_bypartial_link_text() baidu_bycss_selector() baidu_byxpath()