无法使用浏览器堆栈运行我的Selenium代码

时间:2018-10-24 10:41:42

标签: selenium testing selenium-webdriver browserstack

enter image description here我有一个简单的Selenium代码,我正在尝试在远程浏览器(浏览器堆栈)上运行它。尝试打开浏览器并登录到应用程序。所以我的代码正在运行,我能够打开浏览器,但无法登录。我在做什么错。 这是显示的错误消息

此处https://www.hzelectric.com/

通过:URLCHECK

失败:注册和注销

  

java.lang.NullPointerException在   com.testngsample.SampleTest.ARegistrationandLogout(SampleTest.java:40)     在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处   sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)位于   sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于   java.lang.reflect.Method.invoke(未知来源)

2 个答案:

答案 0 :(得分:0)

测试脚本似乎未在 ARegistrationandLogout 测试方法中初始化WebDriver对象。我建议添加功能并在 ARegistrationandLogout 测试方法中再次初始化WebDriver实例。

Use Capabilities

答案 1 :(得分:0)

您正在方法-URLCHECK中初始化WebDriver实例,并在方法-'ARegistrationandLogout'中使用同一实例(未初始化,因此打印了NullPointerException

由于您正在使用TestNG,因此需要执行以下操作。

public class UnitTestClass {

public WebDriver webDriver = null;
public DesiredCapabilities caps = null;

@BeforeTest
public void beforeTest() {
    try {
        caps = new DesiredCapabilities();
        caps.setCapability("os", "Windows");
        caps.setCapability("os_version", "8.1");
        caps.setCapability("browser", "Firefox");
        caps.setCapability("browser_version", "63.0 beta");

        webDriver = new RemoteWebDriver(new URL("http://<USERNAME>:<ACCESS_KEY>@hub-cloud.browserstack.com/wd/hub"), caps);
    } catch (Exception e) {
        e.printStackTrace();
    }
} // BEFORE TEST END

@Test
public void UnitTest() {
    webDriver.get("https://www.google.com/");
} // TEST END

@AfterClass
public void afterClass() {
    if(webDriver != null){
        webDriver.quit();
    }
} // AFTER TEST END }

我建议您查看以下在线资源-#guru99#ToolsQA#TestNG_Docs

我看到您正在尝试在BrowserStack上进行测试。他们有相同的详细文档。您可以查看TestNG-BrowserStack文档here。他们也有一个示例GIT存储库-#TestNG-BrowserStack-GIT-Repo