微软自动化框架Playwright实战(testng)-修改报错
  5fANJqpysGEA 2023年11月02日 15 0

昨天运行了包含playwright和testng的代码, 运行后直接报错,发现是 

page.locator中的参数写错了,应该是"#kw",少写了一个 #号。这样page.locator找不到对应的控件,也就无法执行后面的操作。更新代码后,程序终于是可以跑起来了。具体代码如下:

package org.example;import com.microsoft.playwright.*;import org.testng.Assert;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;import java.util.Collections;/* 用例编写*/public class PlaywrightDemo {
   //先定义一些参数   static Playwright playwrightBrowser browserBrowserType browserTypeBrowserContext browserContextPage page;   //先执行打开浏览器的网页   @BeforeClass   public static void launchBrowser(){
       playwright = Playwright.create();       browser playwright.chromium().launch(new BrowserType.LaunchOptions()
               .setArgs(Collections.singletonList("--start-maximized"))
               .setHeadless(false).setSlowMo(5000));       browserContext browser.newContext(new Browser.NewContextOptions()
               .setViewportSize(1920,1080));       page browserContext.newPage();   }

   //真正想测试的内容   @Test //TestNG的使用方法   public void playwrightTest(){
       //打开百度       page.navigate("https://www.baidu.com");       //输入内容       page.locator("#kw").fill("公众号:蛋蛋杂谈");       //输入回车键       page.locator("#kw").press("Enter");       String value = page.getAttribute("#kw","value");       Assert.assertEquals(value,"公众号:蛋蛋杂谈");       System.out.println(page.url());   }

   //case执行完后,再执行方法   @AfterClass   public void afterClass(){
       browser.close();       browserContext.close();       playwright.close();   }


}

截图如下:

微软自动化框架Playwright实战(testng)-修改报错_java

微软自动化框架Playwright实战(testng)-修改报错_微软自动化框架_02

微软自动化框架Playwright实战(testng)-修改报错_Test_03

点击类的执行按钮或者testng方法前的执行按钮都可以运行该程序

微软自动化框架Playwright实战(testng)-修改报错_java_04

@Test后的代码也是可执行的

微软自动化框架Playwright实战(testng)-修改报错_java_05

微软自动化框架Playwright实战(testng)-修改报错_测试开发_06

微软自动化框架Playwright实战(testng)-修改报错_测试开发_07

在assert判断时报错了,具体展示如下:

java.lang.AssertionError:

Expected :公众号:蛋蛋杂谈

Actual   :

还有一个warning:

[TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >" at the top of your file, otherwise TestNG may fail or not work as expected.

针对下面这个提示,根据class创建testng.xml文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="All Test Suite"verbose="2" preserve-order="true" name="D:/code_liepin/playwrightDemo/src/main/java/org/example/PlaywrightDemo.java">       <classes> name="org.example.PlaywrightDemo">               <methods> name="playwrightTest"/>               </methods>           </class>       </classes>   </test></suite>

但是运行后还是提示 需要将一句话放在文件的顶部

微软自动化框架Playwright实战(testng)-修改报错_java_08

给大家看下各个插件的版本:

微软自动化框架Playwright实战(testng)-修改报错_微软自动化框架_09

尽量都用这些版本,尤其是testng, 如果选择7.7.0版本,会提示需要升级jdk到11, 所以还是尽量用低版本的,如果用的jdk8的话。

好了,今天先到这里,遗留的两个问题等上完线后再处理。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  YgmmQQ65rPv4   2023年11月19日   13   0   0 Java应用程序
  Y8XIq1u6ceQW   2023年11月19日   25   0   0 Java
  AeUHztwqqxTz   2023年11月02日   22   0   0 Javatomcatapache
5fANJqpysGEA
最新推荐 更多