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

页面工厂中的Arity不匹配错误消息

费秦迟
2023-03-14

我正在homedepot.com练习,现在我有这样的问题卡住了,错误信息是:“Arity不匹配:步骤定义'StepsTestCase.SearchShoppingStep.click文件中的_close_button_in_add_to_cart_window(WebDriver):/C:/用户/管理员/git/MavenProject/目标/类/'带有模式[^在添加到购物车窗口中单击关闭按钮$]声明为1个参数。但是,小cucumber步骤有0个参数[]。步骤:当在添加到购物车窗口中单击关闭按钮时”

我的代码在分步定义:

公共类SearchShoppingStep{

@Given("^Input 'Hammer' in search bar$")

public void input_Hammer_in_search_bar() throws Throwable {
     System.setProperty("webdriver.chrome.driver", "C://Webdrivers//chromedriver.exe/");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        driver.navigate().to("https://www.homedepot.com");
    ShoppingPage SP = PageFactory.initElements(driver, ShoppingPage.class);
   ShoppingPage.SearchBar.sendKeys("Hammer");
}

@Given("^Click search button$")
public void click_search_button() throws Throwable {
 ShoppingPage.SearchBtn.click();
}

@When("^Verify 'Husky_(\\d+)_oz\\. Fiberglass_Claw_Hammer' is displayed$")
public void verify_Husky___oz_Fiberglass_Claw_Hammer_is_displayed(int arg1) throws Throwable {
     if(ShoppingPage.Husky16oz.isDisplayed() )      
        {
             System.out.println("'Husky 16 oz. Fiberglass Claw Hammer' displayed.");
        }
        else
        {
            System.out.println("'Husky 16 oz. Fiberglass Claw Hammer' not displayed.");
        }
}

@When("^Click add to cart button of \"([^\"]*)\"$")
public void click_add_to_cart_button_of(String arg1) throws Throwable {
    ShoppingPage.AddtoCartBtn.click();
}

@When("^Click close button in add to cart window$")
public void click_close_button_in_add_to_cart_window(WebDriver driver) throws Throwable {
      driver.switchTo().frame(ShoppingPage.IframeXpath);
    ShoppingPage.ClsBtnOfIframe.click();
}

@Then("^go back to homepage$")
public void go_back_to_homepage() throws Throwable {
   ShoppingPage.HomeDepotLogoBtn.click();
}

@Then("^verify  selected items in cart is displayed$")
public void verify_selected_items_in_cart_is_displayed() throws Throwable {
    String quantity =
            ShoppingPage.IteminMycart.getText();
                    int n = Integer.parseInt(quantity);
                    if(n==1) {
                            System.out.println("1 item is selected");
                    }else {
                            System.out.println("Check the cart");
                    }
}

@Given("^Input 'Bug_Spray' in search bar$")
public void input_Bug_Spray_in_search_bar() throws Throwable {
    ShoppingPage.SearchBar.clear();
    ShoppingPage.SearchBar.sendKeys("Bug Spray");
}

@When("^click searh button$")
public void click_searh_button() throws Throwable {
   ShoppingPage.SearchBtn.click();
}

@Then("^verify 'Repel (\\d+)\\.(\\d+) oz\\. Aerosol Sportsmen Max Insect Repellent' is displayed$")
public void verify_Repel_oz_Aerosol_Sportsmen_Max_Insect_Repellent_is_displayed(int arg1, int arg2) throws Throwable {
     if(ShoppingPage.RepelInsectRepellent.isDisplayed() )      
        {
             System.out.println("''Repel 6.5 oz. Aerosol Sportsmen Max Insect Repellent' is displayed.");
        }
        else
        {
            System.out.println("'Repel 6.5 oz. Aerosol Sportsmen Max Insect Repellent' is not displayed.");
        }
}

@Then("^go back to home page$")
public void go_back_to_home_page() throws Throwable {
      ShoppingPage.HomeDepotLogoBtn.click();
}

}

和特征文件:

@Searchitem1场景:SearchItem1 给定输入搜索栏中的“锤子”,并在验证显示“Husky_16_oz时单击搜索按钮,然后单击”Fiberglass_Claw_Hammer Husky_16oz“的”添加到购物车“按钮时单击”添加到购物车“窗口中的关闭按钮,然后返回主页并验证是否显示购物车中的选定项目

在“添加到购物车”窗口中单击“关闭”按钮时停止

有什么想法吗?谢谢!

共有1个答案

方鸿羲
2023-03-14

在下面的方法中删除参数WebDriver driver。功能文件中没有提到参数。所以在这个方法中不能有参数。

@When("^Click close button in add to cart window$")
public void click_close_button_in_add_to_cart_window(WebDriver driver) throws Throwable {
      driver.switchTo().frame(ShoppingPage.IframeXpath);
    ShoppingPage.ClsBtnOfIframe.click();
}
 类似资料:
  • 我的Arduino代码: 我的处理代码: 在这里,我无法将arduino上的数据发送到processing,因为总是会出现一个错误:类型不匹配处理。电视连续剧Serial与java不匹配。lang.String,因为有两条语句: 我在网上查了一下,但是每个人都使用相同的代码将arduino与处理连接起来。我的处理代码有什么问题?arduino代码正常工作。

  • 我有以下具有以下方法的类。 GsonHelper为我提供了一些 在Java 7之前,我一直使用这种方法,例如: 这工作得很好。因为这个方法会返回一个布尔值,我可以在“if”中使用它。但是当我换到Java 8时,这就不可能了。编译器抱怨: 类型不匹配:无法从对象转换为布尔值 我知道java.lang.Boolean可以为空。我可以通过以下方式解决这个问题: 但我很好奇,为什么这在Java 7中有效,

  • 问题出在行collections.sort(acoesProcessar);我得到的信息是: 绑定不匹配:类型集合的泛型方法不适用于参数()。推断的类型不是有界参数

  • 我让我的应用程序工作正常,然后处理了这个xml文件中的颜色,现在出现了这个错误,我将发布带有错误信息的xml文件代码。我该如何解决这个问题? 这是错误 E/EGL_emulation:tid 2805:eglSurfaceAttrib(1146):错误0x3009(EGL_BAD_MATCH)W/OpenGLRenler:未能在表面上设置EGL_SWAP_BEHAVIOR0x942c4ba0,错误

  • 问题内容: 我已经在Django中实现了密码恢复功能。用我的方法,新密码将发送到他输入的电子邮件ID。当我提供正确的电子邮件(数据库中存在的电子邮件ID)时,它的工作正常。但是,当我提供不在数据库中的电子邮件ID时,就会出现此错误“ DoesNotExist位于/​​ forgotPassword / UniversityDetails匹配查询不存在。”。有人可以解决这个问题吗?将在此处粘贴我的代

  • 错误:java.io.ioException:错误值类:类org.apache.hadoop.io.text不是类org.apache.hadoop.mapred.ifile$writer.append(ifile.java:194)在org.apache.hadoop.mapred.task$combineoutputCollector.collect(task.java:1350)在org.a