当前位置: 首页 > 知识库问答 >
问题:

selenium webdriver中的多个程序执行不工作

慕皓君
2023-03-14
<suite name="Suite">
  <test name="SIT">
    <classes>
      <class name="testng1.NewTest"/>
      <class name="testng1.NewTest2"/>
    </classes>
  </test>
</suite>
package testng1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class NewTest {
    public static WebDriver driver;
  @BeforeTest
  public void launch()
  {
      System.setProperty("WebDriver.ie.driver", "C:\\Users\\rprem\\Downloads\\IEDriverServer_x64_3.4.0\\IEDriverServer.exe");
      driver = new InternetExplorerDriver();
      System.out.println("BeforeTest Method");
  }
@Test
public void gmail()
{
    driver.get("https://gmail.com");
    System.out.println("Gmail was launched");
}
@AfterTest
public void quit()
{
    driver.quit();
    System.out.println("AfterTest Method");
}
}

现在是“newtest2.java”:

package testng1;
import org.testng.annotations.Test;
public class NewTest2 extends NewTest
{
@Test
public void yahoo()
{
    driver.get("https://yahoo.com");
    System.out.println("yahoo site was opened");
}
}

当我使用testng运行xml文件时,我得到以下错误消息:

错误消息:

SKIPPED CONFIGURATION: @AfterTest quit
SKIPPED: gmail
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.ie.driver system property; for more
SKIPPED: gmail
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.ie.driver system property; for more
SKIPPED: yahoo
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.ie.driver system property; for more
===============================================
    testng1
    Tests run: 3, Failures: 0, Skips: 3
    Configuration Failures: 1, Skips: 1
===============================================


===============================================
practice by packages
Total tests run: 3, Failures: 0, Skips: 3
Configuration Failures: 1, Skips: 1
===============================================

共有1个答案

关飞翼
2023-03-14

xml文件中删除下面这一行。因为您的类newtest2扩展了newtest,所以不需要在这里编写。

<class name="testng1.NewTest"/>

xml文件替换为。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite guice-stage="DEVELOPMENT" name="Test">
 <test verbose="2" name="Dummy">    
    <classes>
             <class name="testng1.NewTest2"/> 
    </classes>
 </test> 
</suite>

IE浏览器中执行脚本之前,请更正这些设置。

请参阅下面的图像更改此设置。

您的执行代码将是这样的。

执行:-如果您在xml文件上面运行,您的代码将以这种方式执行。

 类似资料:
  • 请查看testng.xml并建议 我想运行2个类(下面提到),但面临一些挑战,因为它在下面提到的2个场景下显示了一些不稳定的行为。 这些测试类下的方法具有组和优先级 **目标是使用组运行这些测试 Scenario1:当我使用Threadcount=1时; [test name=“autopracticee”parallel=“classes”thread-count=“1”] 以下是行为: 1.1

  • 问题内容: 通过阅读本文,我知道每个Java应用程序都将在特定的Java虚拟机实例中运行。因此,如果我执行以下命令(“ Java -jar test1.jar”,“ Java -jar test2.jar”),我将在系统中获得两个进程。并且,如果每个命令都使用默认堆大小,例如256M。总内存成本为512M,对吗?还有其他问题: Java虚拟机是一个守护进程,由系统启动吗? 当我执行“ java -

  • 我目前在Java的编程课上学习多线程。根据我的理解,不同线程的执行顺序是无法预测的,因此确保我们实现机制以确保所有东西都按所需的顺序执行是很重要的。 我学到的机制之一是使用,它强制一个线程等待,直到其他线程完成执行。然而,下面的示例代码实际上让我更加困惑: 这段代码应该演示是如何工作的,它将执行,然后得到一个正确打印的。 然而,当我实际运行代码时,执行的顺序似乎仍然是随机的。我得到的结果是 那么,

  • 问题内容: 在我们的一项服务中,有人添加了这样的代码(简化): 有时 由于以下原因而失败: 在大多数情况下,错误是-我完全理解。编写该代码的人从未调用过,因此使它保持了太多的生命。当然,为每个方法调用创建单独的执行程序服务都是很糟糕的,并且会被更改;但这正是为什么看到错误的原因。 我不明白的是为什么会被抛出,特别是在这里被抛出。 那里的代码注释有一定道理: 如果我们无法将任务排队,则尝试添加一个新

  • 我正在写一个程序,显示如下所示的航班信息: 我的问题是使用方法时: 当正常运行时,由于某种原因它不会执行,但是当我使用调试器执行程序时,一切都执行得很好,我得到了一个有意义的输出(格式不是很好,但我可以使用),为什么会发生这种情况? 输出应该是这样的: 当我正常运行时,我会得到这个: 这是当我一步虽然(或运行调试): 我希望输出的是单步执行部分(稍后我将处理格式化) eddit:我已经在错误流中添

  • 问题内容: 我应该如何从我的程序中运行另一个程序?我需要能够将数据写入启动的程序中(并可能从中读取) 我不确定这是否是标准的C函数。我需要应该在Linux下工作的解决方案。 问题答案: 您要使用。它为您提供了一个单向管道,您可以使用该管道访问程序的stdin和stdout。 popen是现代unix和类似unix的操作系统的标准配置,其中Linux是其中之一:-) 类型 在终端上阅读有关它的更多信