接下来,我开始我的第一个webUI自动化脚本,加油!
测试用例:打开百度首页,搜索Selenium,然后检查搜索列表,有没有Selenium这个官网链接选项。
测试场景拆分为以下步骤:
(1)启动浏览器(Chrome浏览器);
(2)打开百度首页,https://www.baidu.com;
(3)定位搜索输入框,激励下输入框的Xpath表达式://*[@id=’kw’];
(4)定位搜索提交按钮(百度一下这个按钮),获取Xpath表达式://*[@id='su'];
(5)在搜索输入框输入“Selenium”,点击百度一下这个按钮;
(6)在搜索结果列表去判断是否存在Selenium官网这个链接;
(7)退出浏览器,结束测试。
具体脚本代码:
一、第一种
# coding=utf-8 import time from selenium import webdriver driver = webdriver.Chorme() #打开Chrome dirver.maxmize_window() #最大化浏览器窗口 driver.implicitly_wait(8) #设置隐式时间等待 dirver.get("https://www.baidu.com") # 输入百度地址 driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium") # 搜索框输入Selenium dirver.find_element_by_xpath("//*[@id='su']").click() # 点击百度一下按钮 # 导入time模块,等待2秒 time.sleep(2)
# 这里通过元素XPath表达式来确定该元素显示在结果列表,从而判断Selenium官网这个链接显示在结果列表。 # 这里采用了相对元素定位方法/../ # 通过selenium方法is_displayed() 来判断我们的目标元素是否在页面显示。
driver.find_element_by_xpath("//div/h3/a[text()='官网']//../a/em[text()='Selenium']").is_displayed() driver.quit()
二、第二种断言写法
# coding=utf-8 import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(8) driver.get("https://www.baidu.com") driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium") dirver.fine_element_by_xpath("//*[@id='su']").click() time.sleep(2) ele_string = driver.find_element_by_xpath("//div/h3/a[text()='官网']/../a").text if (ele_string == u"Selenium - Web Browser Automation"): print "测试成功,结果和预期结果匹配!" driver.quit()
总结:web的自动化测试我认为主要有两个难点:1.定位元素;2.如何去写断言,如何判断测试结果是否通过。
参考文章:https://blog.csdn.net/u011541946/article/details/68484368