硒测试用例中的ElementNotVisibleException

时间:2019-09-11 14:05:50

标签: java selenium jenkins

将Selenium + Cucumber测试用例作为詹金构建体运行,它反复失败并出现以下错误

当我选择“ 201723”开始周时(场景:作为在IE或Chrome中在UI中计划我的范围的用户,我应该能够从下拉列表中选择“结束周”)

经过的时间:0.007秒<<<错误!

org.openqa.selenium.ElementNotVisibleException:元素不可见:元素当前不可见并且不能被操纵

1)尝试增加等待时间(隐式和显式) 2)尝试使用chrome选项,“尺寸”和全屏来增加浏览器窗口的大小。它不会超出(1024,768)

如果我登录服务器并运行命令,则相同的测试套件可以正常运行 mvn干净测试

@When("^I am in Volume Planning and not selected start week , end week should be disabled$")
    public void i_am_in_Volume_Planning_and_not_selected_start_week_end_week_should_be_disabled() throws Throwable {
        //chromeOptions.addArguments("--window-size=1300,1000");
        Thread.sleep(10000);
        commonSteps.ScrollFieldToView("myRangeVolumePlanningUKROIStartWeek1=>Id");
        Thread.sleep(10000);
        commonSteps.enterData("myRangeVolumePlanningUKROIStartWeek1=>Id", "Select Start Week");
        System.out.println("+++CHECKS STARTED++");
        Assert.assertEquals("ddl_select_menu active-drag-cell disabled", commonSteps.getAttribute("//*[@id='1']/td[8]/span=>Xpath", "class"));
    }
    @When("^I select start week \"(.*?)\"$")
    public void i_select_start_week(String startWeek) throws Throwable {
        Thread.sleep(5000);
        commonSteps.enterData("myRangeVolumePlanningUKROIStartWeek1=>Id", startWeek);
        System.out.println("+++CHECK++" + startWeek);
    }

    @Then("^I should be able to see \"(.*?)\" options with first option \"(.*?)\" and last option \"(.*?)\"$")
    public void i_should_be_able_to_see_options_with_first_option_and_last_option(Integer noOfOptions, String weekStarting, String weekEnding) throws Throwable {
        Assert.assertEquals("ddl_select_menu active-drag-cell", commonSteps.getAttribute("//*[@id='1']/td[8]/span=>Xpath", "class"));
        Integer actualNoofOptions=commonSteps.getOptionsSizeSelectBox("myRangeVolumePlanningUKROIEndWeek1=>Id");
        Assert.assertEquals(noOfOptions, actualNoofOptions);
        Assert.assertEquals(weekStarting, commonSteps.getOptionValueByIndexSelectBox("myRangeVolumePlanningUKROIEndWeek1=>Id", 1));
        Assert.assertEquals(weekEnding, commonSteps.getOptionValueByIndexSelectBox("myRangeVolumePlanningUKROIEndWeek1=>Id", (int) (actualNoofOptions-1)));

    }
    @When("^I enter start week \"(.*?)\" the default value in end week should be \"(.*?)\"$")
    public void i_enter_start_week_the_default_value_in_end_week_should_be(String startWeek, String defaultEndWeek) throws Throwable {
        //commonSteps.waitUntillVisibilityOfField("myRangeVolumePlanningUKROIStartWeek1");
        Thread.sleep(5000);
        commonSteps.enterData("myRangeVolumePlanningUKROIStartWeek1=>Id", startWeek);
        System.out.println("===windowsizeMax1==="+driver.manage().window().getSize());
           Assert.assertEquals(defaultEndWeek,commonSteps.getText("myRangeVolumePlanningUKROIEndWeek1=>Id"));
    }

    @When("^I enter end week \"(.*?)\", the line life calculated should be \"(.*?)\"$")
    public void i_enter_end_week_the_line_life_calculated_should_be(String endWeek, String lineLife) throws Throwable {
        if(endWeek.trim().length()>0){
            Thread.sleep(5000);
            System.out.println("===windowsizeMax3==="+driver.manage().window().getSize());
            commonSteps.enterData("myRangeVolumePlanningUKROIEndWeek1=>Id", endWeek);
            System.out.println("+++CHECK3++" + endWeek);

        }
        Assert.assertEquals(lineLife,commonSteps.getText("myRangeVolumePlanningUKROILineLife1=>Id"));

        if(commonSteps.isFieldExists(".//*[@id='myRangeConfirmModal']/div/div[2]/h3=>Xpath")){
            commonSteps.buttonClick("myRangeModalOk=>Id");
        }
    }

0 个答案:

没有答案