编写 Selenium 测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。
编写测试用例的优势:
引入依赖
引入依赖是为了调用 webdriver 中的方法来与浏览器进行交互以实现操作步骤。
from selenium import webdriver
复制代码
import org.openqa.selenium.By;import org.openqa.selenium.chrome.ChromeDriver;
复制代码
测试用例的流程
测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。
注意:一条测试用例的最终结果只有一个:成功或者失败。
三大核心要素为 :标题 、步骤 、预期结果
实战演练
首先是在代码的最上面导入了 Selenium 的包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开百度页面所展现的内容与所期望的值是否相等。
from selenium import webdriver
# 测试的标题即 test_searchdef test_search(): driver = webdriver.Chrome() # 测试的步骤 driver.get('https://www.baidu.com') search = driver.find_element_by_id('su').get_attribute('value') # 断言预期结果 assert search == "百度"
复制代码
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
复制代码
更多学习资料戳下方!!!
评论