当前位置:网站首页>还在为如何编写Web自动化测试用例而烦恼嘛?资深测试工程师手把手教你Selenium 测试用例编写
还在为如何编写Web自动化测试用例而烦恼嘛?资深测试工程师手把手教你Selenium 测试用例编写
2022-07-06 06:07:00 【测试界的飘柔】
编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。
编写测试用例的优势:
开源,免费。
支持多种浏览器 IE,Firefox,Chrome,Safari。
支持多平台 Windows,Linux,Mac。
支持多语言 Python,Java,C#。
对 Web 支持良好。
简单,灵活。
支持分布式测试用例执行。
引入依赖
引入依赖是为了调用 webdriver 中的方法来与浏览器进行交互以实现操作步骤。
- Python版本
from selenium import webdriver
测试用例的流程
测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。
注意:一条测试用例的最终结果只有一个:成功或者失败。
三大核心要素为 :标题 、步骤 、预期结果
- 标题:是对测试用例的描述,标题应该清楚的表达测试用例的内容
- 步骤:对测试执行过程进行描述
- 预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过,反之失败。
实战演练
首先是在代码的最上面导入了 Selenium 的包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开百度页面所展现的内容与所期望的值是否相等。
Python版本
from selenium import webdriver
# 测试的标题即 test_search
def test_search():
driver = webdriver.Chrome()
# 测试的步骤
driver.get('https://www.baidu.com')
search = driver.find_element_by_id('su').get_attribute('value')
# 断言预期结果
assert search == "百度"
这里要断言打开百度页面所展现的内容与所期望的值是否相等。因为实际获取到的内容应该是百度一下而不是百度,所以断言错误。
FAILED [100%]
test_demo.py:3 (test_search)
百度一下 != 百度
Expected :百度
Actual :百度一下
<Click to see difference>
def test_search():
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
search = driver.find_element_by_id('su').get_attribute('value')
> assert search == "百度"
E AssertionError: assert '百度一下' == '百度'
test_demo.py:9: AssertionError
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
边栏推荐
- Buuctf-[[gwctf 2019] I have a database (xiaoyute detailed explanation)
- The difference and usage between continue and break
- C language bubble sort
- [course notes] Compilation Principle
- [web security] nodejs prototype chain pollution analysis
- Application of Lie group in gtsam
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- LeetCode 731. 我的日程安排表 II
- Interface test: what are the components of the URL in fiddler
- How to use the container reflection method encapsulated by thinkphp5.1 in business code
猜你喜欢
How to use the container reflection method encapsulated by thinkphp5.1 in business code
【无标题】
Function of contenttype
Grant Yu, build a web page you want from 0
Nodejs realizes the third-party login of Weibo
Basic knowledge of error
把el-tree选中的数组转换为数组对象
[postman] test script writing and assertion details
Memory and stack related concepts
10M25DCF484C8G(FPGA) AMY-6M-0002 BGA GPS模块
随机推荐
[course notes] Compilation Principle
IPv6 comprehensive experiment
Web service connector: Servlet
Réflexions sur la sécurité des données (réimpression)
Overview of three core areas of Mathematics: algebra
Understanding of processes and threads
在线问题与离线问题
Function of activation function
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
【C语言】字符串左旋
Idea new UI usage
进程和线程的理解
How to recover Huawei router's forgotten password
通过修改style设置打印页样式
Hongliao Technology: Liu qiangdong's "heavy hand"
(中)苹果有开源,但又怎样呢?
误差的基本知识
【无标题】
数学三大核心领域概述:几何
公司视频加速播放