如何解决无法驱动../selenium-server-standalone-3.141.59.jar的模块描述

时间:2019-08-23 18:11:07

标签: java eclipse selenium

启动层初始化期间发生错误 java.lang.module.FindException:无法派生C:\ Users \ admin \ eclipse-workspace \ Testing \ lib \ selenium-server-standalone.jar

的模块描述符
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.eclipse.jetty.http.Http1FieldPreEncoder not in module
package Testing;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class Testing {

    public static void main(String[] args) throws InterruptedException
    {
        Selenium selenium= new DefaultSelenium("localhost",4444,"firefox","http://www.calculator.net");
        selenium.start();
        selenium.open("/");
        selenium.windowMaximize();
        selenium.click("xpath=.//*[@id=''hl3']/li[3]/a"); 
        Thread.sleep(4000);
        selenium.focus("id=cpar1");
         selenium.type("css=input[id=\"cpar1\"]", "10"); 
        selenium.focus("id=cpar2"); 
         selenium.type("css=input[id=\"cpar2\"]", "50"); 
         (selenium).click("xpath=.//*[@id='content']/table[1]/tbody/tr[2]/td/input[2]"); 
         // verify if the result is 5
         Thread.sleep(4000);
         String result = selenium.getText("xpath=.//*[@id='content']/p[2]/font/b");
         //String result = selenium.getValue("xpath=.//*[@id='cpar3']");
         System.out.println("Result:"+result);

         if (result.equals("5")/*== "5"*/){
            System.out.println("Pass");
         }
         else{
            System.out.println("Fail");
         }

    }

}

image of source code and error

1 个答案:

答案 0 :(得分:1)

  1. 我建议重新考虑使用Selenium Remote Control,因为它已不再受支持,已经过时了,目前Selenium Java客户端的稳定版本是3.141.59,它提供了WebDriver API,这是{截至目前为止,{3}}。
  2. 一旦实现了选项1,就摆脱了W3C Standard,因为它是某种形式的性能Thread.sleep(),请改用anti-pattern,签出Explicit Wait以获得全面的说明和代码示例。

  3. 最好使用诸如How to use Selenium to test web applications using AJAX technology之类的依赖项管理解决方案,该解决方案将自动检测并下载您的项目Apache Maven。一个相关的pom.xml文件将类似于:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.example</groupId>
        <artifactId>selenium</artifactId>
        <version>1.0-SNAPSHOT</version>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
        <dependencies>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>3.141.59</version>
            </dependency>
        </dependencies>
    
    </project>