本文节选自霍格沃兹测试开发学社内部教材 编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。 编写测试用例的优势:开源,免费。支持多种浏览器IE,Firefox,Chrome,Safari。支持多平台Windows,Linux,Mac。支持多语言Python,Java,C。对Web支持良好。简单,灵活。支持分布式测试用例执行。 引入依赖 引入依赖是为了调用webdriver中的方法来与浏览器进行交互以实现操作步骤。Python版本fromseleniumimportwebdriverJava版本importorg。openqa。selenium。By;importorg。openqa。selenium。chrome。ChromeD 测试用例的流程 测试用例是为了实施测试从而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。 注意:一条测试用例的最终结果只有一个:成功或者失败。 三大核心要素为:标题、步骤、预期结果标题:是对测试用例的描述,标题应该清楚的表达测试用例的内容步骤:对测试执行过程进行描述预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过,反之失败。 实战演练 首先是在代码的最上面导入了Selenium的包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开百度页面所展现的内容与所期望的值是否相等。Python版本fromseleniumimportwebdriver测试的标题即testsearchdeftestsearch():driverwebdriver。Chrome()测试的步骤driver。get(https:www。baidu。com)searchdriver。findelementbyid(su)。getattribute(value)断言预期结果assertsearch百度Java版本importorg。junit。jupiter。api。Timportorg。openqa。selenium。By;importorg。openqa。selenium。chrome。ChromeDpublicclasswebTest{privateChromeDTestvoidsearch()throwsInterruptedException{实例化driverdrivernewChromeDriver();打开网页driver。get(https:www。baidu。com);测试的步骤Stringdatadriver。findElement(By。id(su))。getAttribute(value);assertdata。equals(百度);}} 这里要断言打开百度页面所展现的内容与所期望的值是否相等。因为实际获取到的内容应该是百度一下而不是百度,所以断言错误。 FAILED〔100〕testdemo。py:3(testsearch)百度一下!百度Expected:百度Actual:百度一下Clicktoseedifferencedeftestsearch():driverwebdriver。Chrome()driver。get(https:www。baidu。com)searchdriver。findelementbyid(su)。getattribute(value)assertsearch百度EAssertionError:assert百度一下百度testdemo。py:9:AssertionError 跟着实战演练,开启编写Selenium测试用例之旅吧 来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成持续交付DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvmsandbox等相关技术,全面提升测试开发工程师的技术实力。 获取更多内容: https:qrcode。ceba。ceshiren。comlink?namearticleprojectidqrcodefromtoutiaotimestamp1650421400