最近就是有看到说一个完整的自动化脚本是什么样子,这是我学习且实操了一遍后,进行的一些总结,有不完善的地方,希望大家多多指教。

我们的测试用例是:打开百度首页,搜索Selenium,然后检查搜索列表,有没有Selenium这个官网链接选项。

在写自动化脚本之前,需要明确手动脚本的步骤,然后去拆分到具体没一个步骤做什么,考虑好了之后,才开始动手去写脚本。我把这个测试场景分拆如下步骤:

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

2) 打开百度首页,https://www.baidu.com

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

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

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

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

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

如果你没有安装Chrome,那就用Firefox。

1) 桌面新建一个记事本,命名并保存为FirstScript.py

2) 输入如下代码片段到FirstScript.py,保存

3) 打开cmd窗口,切换到桌面路径下,然后通过python FirstScript.py 来执行脚本。

FirstScript.py脚本如下

#coding=utf-8

import time

from selenium import webdriver

driver = webdriver.Chrome() #
打开chrome,如果没有安装chrome,换成webdriver.Firefox()

driver.maximize_window() # 最大化浏览器窗口

driver.implicitly_wait(8) # 设置隐式时间等待

driver.get(“https://www.baidu.com”) # 地址栏输入百度地址

driver.find_element_by_xpath("//*[@id=‘kw’]").send_keys(“selenium”) #
搜索输入框输入Selenium

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()=‘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”)

driver.find_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()

更加精确的回答与答复可以加我们1085991341。

这里只利用 两个等号(==)来判断两个字符串是否完全相同,有时候我们还需要对得到的字符串进行切割操作,才能进行去匹配,以后再介绍字符串切割处理在自动化测试结果判断中的使用。

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

建议: 以上代码脚本举例,最好是去一行一行抄写,不要直接复制、黏贴到记事本中。因为,在书写脚本过程,肯定会犯一些语法和输入错误,在调试脚本过程,通过观察报错信息,直到解决问题,可以顺利执行脚本,得到和收获就会很多。

以上,希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

记第一个完整的自动化测试脚本相关推荐

  1. Selenium基础篇之5-第一个完整的自动化测试脚本

    前面文章,我们介绍了如何采用XPath表达式去定位网页元素,在掌握了如何抓取或者如何书写精确的XPath表达式后,我们可以开始写自己的第一个真正意义上的webui 自动化测试脚本,就相当于,你在学习P ...

  2. python写web自动化_使用Python+selenium实现第一个自动化测试脚本

    原标题:使用Python+selenium实现第一个自动化测试脚本 最近在学web自动化,记录一下学习过程. 此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求. 环境 ...

  3. 用selenium4 webdriver + java 开发第一个自动化测试脚本

    环境准备: 1.环境准备: 搜有资源可以从百度网盘下载链接:https://pan.baidu.com/s/17Yp3M-eCA429jv3A3KBCkA  提取码:1234 1)安装java环境,我 ...

  4. python自动化测试脚本怎么编写_编写自动化测试脚本心得---菜鸟入门篇

    编写自动化测试脚本心得 -------- 菜鸟入门篇 本文中将不会讲解 ISEE 的测试原理.不说明 Python 的常用语法.不介绍 OTP 测试平 台的架构, 自动化测试组的牛人们已经为我们编写了 ...

  5. 系统在此应用程序堆栈溢出_从部署我的第一个完整堆栈Web应用程序中学到的经验教训...

    系统在此应用程序堆栈溢出 by Will Abramson 威尔·艾布拉姆森(Will Abramson) 从部署我的第一个完整堆栈Web应用程序中学到的经验教训 (Lessons learned f ...

  6. Puppet基础篇7-编写第一个完整测试模块puppet

    Puppet基础篇7-编写第一个完整测试模块puppet 零基础学习Puppet自动化配置管理系列文档 将Puppet部署到生产中第一个要编写的模块就是puppet本身,虽然puppet可以运行其它所 ...

  7. 使用python快速搭建接口自动化测试脚本实战总结

    导读 本文将介绍如何使用python快速进行http/https接口自动化测试脚本搭建,实现自动请求.获取结果.数据对比分析,导出结果到Excel等功能,包括python的requests.panda ...

  8. 记一次完整的新浪云部署nodejs项目上线完整流程及填坑处理!

    工欲善其事,必先利其器.在开始本次部署新浪云nodejs项目之前,请先做好以下准备工作: 1.注册一个新浪微博账号! 2.使用注册好的新浪微博账号,登录新浪云网站:http://www.sinaclo ...

  9. python写自动化测试脚本常见报错_Appium自动化测试

    3.     Appium安装配置 3.1.  限制 如果你在windows上安装appium,你没法使用预编译专用于OS X的.app文件,你也将不能测试IOS apps,因为appium依赖OS ...

最新文章

  1. Android -- TextView与EditText 同步显示
  2. 读书笔记--C陷阱与缺陷(三)
  3. Java学习之if---elif语句
  4. python【力扣LeetCode算法题库】219 -存在重复元素 II
  5. onblur 对象失去焦点事件
  6. 它们的定义Activity跳转动画
  7. linux常用网络命令
  8. 《Python Cookbook 3rd》笔记(2.4):字符串匹配和搜索
  9. 手机腾讯视频软件如何开启护眼功能
  10. ant design form表单的时间处理
  11. 宿主机使用nginx向docker容器转发https请求
  12. 【管理】如何有效管理自己的时间
  13. 网络广告的12种计费方式
  14. qemu与宿主机网络通信配置
  15. 蜜瓜文案:水果蜜瓜文案短句,水果店蜜瓜发朋友圈文案
  16. 专业查苹果测试软件,电池寿命检测软件苹果版-iphone查电池寿命appv2.1.5 iOS版-腾牛苹果网...
  17. Android解析域名获取IP
  18. 基于SSM框架的仿天猫商城项目(前端+后台)
  19. vmware15.5.5版本虚拟机(VMware Workstation 15 Pro)BUG(CentOS7.3下):切换大小写失效的解决方案
  20. 【SCI投稿委婉催稿信模板】

热门文章

  1. 支持向量机识别数字集(数据采集+模型训练+预测输出)
  2. “创享杯”第一届电子数据取证线上大比武答案(自做)
  3. 【网络爬虫】初探网络爬虫
  4. NaN是什么? NaN == NaN 的结果是什么?为什么?
  5. 2017全球智慧城市战略指数分析
  6. [Python中的除法、除法取整、除法取余] [运算符分别为:/、//、%]
  7. VRF在区块链中的应用
  8. Java到底好不好学
  9. Python爬虫之App爬虫视频下载
  10. BlueTooth蓝牙协议规范(四)