《刚刚问世》系列初窥篇-Java+Playwright自动化测试-5-创建首个自动化脚本(详细教程)
1.简介
前面几篇宏哥介绍了两种(java和maven)环境搭建和浏览器的启动方法,这篇文章宏哥将要介绍第一个自动化测试脚本。前边环境都搭建成功了,浏览器也驱动成功了,那么我们不着急学习其他内容,首先宏哥搭建好的环境中创建首个完整的自动化测试脚本,让小伙伴或者童鞋们提前感受感受,也是为了激起大家的学习兴趣。
宏哥的个人经验是:自动化脚本编写比较容易,最大的困难去如何去写测试断言。自动化测试,最重要的还是落在测试上面,而不是自动化,自动化只是手段。断言的写法,就考验出一个测试工程师是否考虑全面,体现出你的用例编写水平。
2.测试用例
很多童鞋或者小伙伴们可能会有这样有个误区:自动化测试是不需要设计测试用例的。其实不然它也是需要设计测试用例,然后根据用例进行脚本的编写和断言,只不过是把用例以代码的形式体现出来,而机器恰好可以识别代码,将代码跑起来,其实就是在执行你的用例,只不过是由机器帮你自动执行。好了废话少说开始说说宏哥今天要做的测试是:打开百度,输入北京-宏哥搜索,验证打开链接有没有北京-宏哥博客园的链接。
测试用例:打开百度首页,搜索:北京-宏哥,然后检查搜索列表,有没有 北京-宏哥 博客园链接。后续文章为了避免不必要的麻烦和错误,宏哥都在maven搭建的环境中进行实战演示。
2.1步骤
1.启动浏览器
2.打开百度首页:http://www.baidu.com
3.判断这个页面是不是我们提前知道的页面
4.定位搜索输入框,记录下输入框元素的id定位表达式:#kw
5.定位搜索提交按钮(百度一下),获取id定位表达式:#su
6.在搜索输入框输入:北京-宏哥,点百度一下这个按钮
7.在搜索结果列表去判断是否存在北京-宏哥博客园这个链接
8.退出浏览器,结束测试
2.2代码设计
2.3参考代码
package com.bjhg.playwright; import com.microsoft.playwright.Browser; import com.microsoft.playwright.BrowserType; import com.microsoft.playwright.Locator; import com.microsoft.playwright.Page; import com.microsoft.playwright.Playwright; /** * @author 北京-宏哥 * * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货) * * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试- 5-创建首个自动化脚本(详细教程) * * 2024年7月12日 */ public class LaunchChrome { @SuppressWarnings("deprecation") public static void main(String[] args) { try (Playwright playwright = Playwright.create()) { //使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。 Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50)); //创建page Page page = browser.newPage(); //浏览器打开百度 page.navigate("https://www.baidu.com/"); //判断title是不是 百度一下,你就知道 try{ String baidu_title = "百度一下,你就知道"; assert baidu_title == page.title(); System.out.println("Test Pass"); }catch(Exception e){ e.printStackTrace(); } //定位搜索输入框,输入北京-宏哥 page.locator("#kw").type("北京-宏哥"); //定位搜索提交按钮(百度一下)。点击 page.locator("#su").click(); //这里通过元素XPath表达式来确定该元素显示在结果列表,从而判断Selenium官网这个链接显示在结果列表。 Locator ele_string=page.locator("//*[@id='1']/div/div[1]/h3/a"); String ele_string1 = ele_string.innerText(); System.out.println(ele_string1); try{ if(ele_string1.equals("北京-宏哥 - 博客园")){ System.out.println("Testing is successful!"); } }catch(Exception e){ e.printStackTrace(); } //关闭page page.close(); //关闭browser browser.close(); } } }
2.4运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:
3.小结
3.1equals和==的区别
宏哥这里简单的说一下,更详细的你可以百度查一下。关于判断两个字符串是否相等的问题。在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写。在java中,用的是equals();
例:A字符串和B和字符串比较: if(A.equals(B)){ } 返回true 或false.
String 的equals 方法用于比较两个字符串是否相等。由于字符串是对象类型,所以不能用简单的“==”判断。而使用equals比较两个对象的内容是否相等。
注意:equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。
好了,今天时间也不早了,首个Java+Playwright的自动化测试脚本就分享到这里,感谢你耐心地阅读!
感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的
本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!
公众号(关注宏哥)                                                                                 客服微信