自动化测试-第一个脚本

841 阅读2分钟

前面文章,我们介绍了如何采用XPath表达式去定位网页元素,在掌握了如何抓取或者如何书写精确的XPath表达式后,我们可以开始写自己的第一个真正意义上的web自动化测试脚本,就相当于,你在学习Python,如何在控制台打印Hello,world! 一样。 我们脚本实现的功能是:打开百度首页,搜索pycharm,然后检查搜索列表,有没有pycharm这个官网链接选项。 在写自动化脚本之前,需要明确手动脚本的步骤,然后去拆分到具体每一个步骤做什么,考虑好了之后,才开始动手去写脚本。我把这个测试场景分拆如下步骤:

  • 1) 启动后浏览器,这里我们用Chrome

  • 2) 打开百度首页,www.baidu.com

  • 3) 定位搜索输入框,记录下输入框元素的xpath表达式://*[@id='kw']

  • 4) 定位搜索提交按钮(百度一下这个按钮),获取xpath表达式://*[@id='su']

  • 5) 在搜索输入框输入“pycharm”,点击百度一下这个按钮。

  • 6) 在搜索结果列表去判断是否存在pycharm官网这个链接。

  • 7) 退出浏览器,结束测试。

代码脚本如下:

import time
from selenium import webdriver
# 打开chrome浏览器
driver = webdriver.Chrome()
# 最大化浏览器窗口
driver.maximize_window()
# 设置隐式时间等待
driver.implicitly_wait(8)
# 地址栏输入百度地址
driver.get("https://www.baidu.com")
# 搜索输入框输入Selenium
driver.find_element_by_xpath("//*[@id='kw']").send_keys("python")
# 点击百度一下按钮
driver.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()='python']").is_displayed()
driver.quit()

总结:自动化测试最难的在于如何去写断言,如何判断测试结果是否通过。