有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Eclipse/Cucumber/Java中串接多个页面对象文件

我无法将多个页面对象文件和步骤定义串在一起

我已经导入了以下内容,由于它是工作代码,因此被过度编辑:

package <the package my step definition file is in>
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import <the other project my team created>.browsercapabilities.Browser;
import <the other project my team created>.Browsers;
import <a package a different step definition file is 
in>.addNewContact.AddNewContactStepDefs;

import org.openqa.selenium.By; 
import org.openqa.selenium.WebElement;
import <the other project my team created>.webcomponents.WebButton;
import <my page objects package>.authenticationpages.CommandLoginPage;
import <my page object package>ThirdPageObjectFile;
import <my page object package>.SecondPageObjectFile;
import <my page object package>.FirstPageObjectFile;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;

import cucumber.api.java.en.Then;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.When;

public class ThirdPageStepDefs extends BrowserBase {

private static final Logger LOG = 
LoggerFactory.getLogger(ThirdPageStepDefs.class);
private WebDriver driver = mainBrowser().getDriver();
private Browser browser = Browsers.getBrowser();
private WebDriverWait wait = new WebDriverWait(driver,10);

LoginPage login = new LoginPage (browser);
SecondPageObjectFile contact = new SecondPageObjectFile (browser);
FirstPageObjectFile searchContact = new FirstPageObjectFile (browser);
ThirdPageObjectFile deal = new ThirdPageObjectFile (browser);


@Then("^I click the contacts icon$")
public void i_click_the_contacts_icon() throws Throwable {
    contact.get_contact_link().clickLink();
}

当我运行运行程序代码时,我收到一个初始化错误,该代码表示运行程序无法实例化我的ThirdStepDefFile的实例,即“未能实例化类”

我的跑步者跑得很好:

package <Utility package>.utilities;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import cucumber.api.testng.AbstractTestNGCucumberTests;

@RunWith(Cucumber.class)
@CucumberOptions(
    features="src\\test\\resources\\<my feature folder>", 
    plugin={"pretty", "html:target/cucumber-html-report", 
"json:target/cucumber.json"},
    glue= "<My step def folder>",
    tags = "@<my tags>"
    )
public class ComUITestRunner extends AbstractTestNGCucumberTests {

}

在我已经注释掉的场景中,我还有更多的行,因为我得到了初始化错误,所以我编辑了如下故障排除: -注释掉所有方法(绿色) -将所有方法保留为(红色) -保留一个方法(红色)

当我有一个方法没有被注释掉时,我会得到一个错误

我的项目是一系列屏幕,用户必须进入这些屏幕才能登录。登录屏幕、第一个屏幕、第二个屏幕和第三个屏幕都有自己的页面对象。最后,我想将这些屏幕抽象为一个主项目,所有子项目共享,因为它们是其他所有项目的先决条件。将这些屏幕串在一起似乎失败了,我正在考虑重构整个过程

我也是Java/Eclipse新手,因此可能没有正确地看到堆栈跟踪。例如,我的junit屏幕底部显示了“62多行”,详细说明了我无法看到的故障。我试着调试,但没用,我点击了junit输出左侧的大纲,当我将鼠标悬停在上面时,它说找不到测试类


共 (0) 个答案