首页 > 其他分享 >Selenium 测试用例编写

Selenium 测试用例编写

时间:2023-01-10 17:31:39浏览次数:58  
标签:search Selenium driver 测试用例 import 编写 百度 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;
@Test
void search() throws InterruptedException {
//实例化driver
driver = 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测试用例之旅吧~

标签:search,Selenium,driver,测试用例,import,编写,百度,selenium
From: https://blog.51cto.com/u_15640304/6000503

相关文章

  • Docker搭建测试用例平台 TestLink
    Testlink是基于WEB的测试用例管理系统,主要功能是:测试项目管理、产品需求管理、测试用例管理、测试计划管理、测试用例的创建、管理和执行,并且还提供了统计功能。Testlink......
  • 使用 NineData 高效编写 SQL
    SQL是StructuredQueryLanguage的缩写,中文翻译为“结构化查询语言”。它是关系型数据库的标准语言,所有的关系型数据库管理系统(RDBMS),比如MySQL、Oracle、SQLServer、P......
  • 编写空心菱形
    请编写程序,输入菱形的高,输出由星号勾勒出的菱形。若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息。对于菱形:  如图所示,首先我们可以先把空格显示出来,在显示星......
  • Python+Selenium
    python+Selenium学习Selenium组件SeleniumIDE:是一个测试集成开发环境,可以结合FF录制脚本,并对脚本编辑和调试特点:1.很容易在页面上就行录制​2.能自动通......
  • 11.编写一个命令行程序
    一、接收命令行参数创建minigrep项目cargonewminigrep实现这一工具的首要任务是让minigrep接收两个命令行参数:文件名和用于搜索的字符串。因此,我们希望通过如下方式:......
  • 提升你的技能:编写干净高效的 JavaScript 的 7 个技巧
    编写干净的代码对每个开发人员来说都是必不可少的,因为它使代码易于阅读、理解和维护。干净的代码使团队中每个人的生活更轻松,您的代码更不容易出错,并且更容易添加新功能。......
  • UI Automation PowerShell Extensions使用,编写powershell脚本实现ui自动化操作 简单实
    借鉴这几个网站。使用PowerShellUI自动扩展操作应用(自动化)-PMP风格(hatenablog.com)UIAutomationPowerShellExtensions的Download(再分发)–code-lab.netPowe......
  • 编写产生一些冰雹的程序,程序应该用函数 void hailstone(int n);计算冰雹并显示由n 产
     #include<stdio.h>//请根据主程序流程,补全此函数//冰雹产生并输出函数//注意:输出每个冰雹数时,请按5位对齐输出intt=1;voidhailstone(intn){intp;if(t......
  • Markdown文章编写笔记
    1.Markdown文章编写效果如下:标题1标题2标题3标题4标题5标题6Markdown代码:#标题1##标题2###标题3####标题4#####标题5######标题6这是一段小注解链接:​​https://bo......
  • Selenium57-使用fixture
    第四版使用fixturetest_后台_双创_基础设置_赛区管理_添加赛区_case_v4_1.py使用fixture来做前置和后置处理。使用yield来分隔前置后后置处理步骤。定义prepare_and_exit方......