技术分享 | Selenium 测试用例编写
编写 Selenium 测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。
编写测试用例的优势:
开源,免费。
支持多种浏览器 IE,Firefox,Chrome,Safari。
支持多平台 Windows,Linux,Mac。
支持多语言 Python,Java,C#。
对 Web 支持良好。
简单,灵活。
支持分布式测试用例执行。
引入依赖引入依赖是为了调用 webdriver 中的方法来与浏览器进行交互以实现操作步骤。
Python 版本 from selenium import webdriver
Java 版本 import org.openqa.selenium.By;import org.openqa.selenium.chrome.ChromeDriver;
测试用例的流程测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。
注意:一条测试用例的最终结果只有一个:成功或者失败。
三大核心要素为 :标题 、步骤 、预期结果
标题:是对测试用例的描述,标题应该清楚的表达测试用例的内容
步骤:对测试执行过程进行描述
预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过,反之失败。
实战演练首先是在代码的最上面导入了 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 == "百度"
Java 版本 import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.chrome.ChromeDriver;public class webTest {private ChromeDriver driver;@Testvoid search() throws InterruptedException {//实例化 driverdriver = new ChromeDriver();//打开网页 driver.get("https://www.baidu.com");//测试的步骤 String data = driver.findElement(By.id("su")).getAttribute("value");assert data.equals("百度");}}
这里要断言打开百度页面所展现的内容与所期望的值是否相等。因为实际获取到的内容应该是百度一下而不是百度,所以断言错误。
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
跟着实战演练,开启编写 Selenium 测试用例之旅吧~
点击下方链接免费领取:性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档
http://qrcode.testing-studio.com/f?from=infoQ&url=https://ceshiren.com/t/topic/22265
评论