Для теста Selenium Дженкинс бросает «Элемент не активен в точке» - PullRequest
0 голосов
/ 27 сентября 2019

Когда я запускаю сценарий селена из Eclipse, он работает отлично.Принимая во внимание, что когда я запускаю тот же сценарий из Дженкинс выдает ошибку как: org.openqa.selenium.ElementClickInterceptedException: элемент click intercepted: Элемент ... не активируется в точке(763, 142).Другой элемент получит щелчок: ... .

Я пытался WebDriverException: элемент не активен в точке . Но не повезло!

Ниже приведен мой код:

  @Test(priority=1)
  public void verifyLoginTest() throws Exception {

    driver.findElement(By.id("UserLogin")).click();
    driver.findElement(By.id("UserLogin")).clear();
    Thread.sleep(1000);
    driver.findElement(By.id("UserLogin")).sendKeys(prop.getProperty("username"));
    driver.findElement(By.id("PasswordHash")).clear();

    driver.findElement(By.id("PasswordHash")).sendKeys(prop.getProperty("password"));
    driver.findElement(By.id("btnok")).click();
   Thread.sleep(1000);
  } 

 @Test(priority=2)
  public void verifyHomePageTest() throws Exception {

     // driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='Employment History and Employee Master'])[1]/preceding::h4[1]")).click();
     driver.findElement(By.linkText("Maintenance")).click();

      Thread.sleep(1000);


  } 

  @Test(priority=3)
  public void testCreateNewUser() throws Exception {

   // driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='Employment History and Employee Master'])[1]/preceding::h4[1]")).click();
    driver.findElement(By.linkText("User Maintenance")).click();

    ArrayList<String> tabs = new ArrayList <String>(driver.getWindowHandles());
    System.out.println("Window Names: "+tabs);
    driver.switchTo().window(tabs.get(1));
    driver.findElement(By.id("lbtnAddNewBenefitTier")).click();
    Thread.sleep(1000);
    driver.findElement(By.id("UserLogin")).click();//
    driver.findElement(By.id("UserLogin")).clear();
    driver.findElement(By.id("UserLogin")).sendKeys(prop.getProperty("UserLogin"));
    Thread.sleep(1000);

Класс TetsBase.java:

System.setProperty("webdriver.chrome.driver", chrome.getAbsolutePath());
            ChromeOptions options = new ChromeOptions();
            options.addArguments("--disable-features=VizDisplayCompositor");
            options.addArguments("--headless"); 
            options.addArguments("--no-sandbox");
            options.addArguments("--window-size=1920,1080");
            options.addArguments("--disable-browser-side-navigation");
            options.addArguments("--disable-gpu"); 
            options.addArguments("--disable-extensions"); 
            options.addArguments("--dns-prefetch-disable");
            options.setPageLoadStrategy(PageLoadStrategy.NONE);

Я могу успешно запустить тот же сценарий в режиме Headless вEclipse.

Проверенный элемент из веб-браузера Chrome: <a class="btn btn-AddNewGridRow" id="lbtnAddNewBenefitTier" onclick="AddNewRow_usergrid()" tabindex="8" style="margin-right: 30px;">Create New User</a>

Примечание: Чтобы проверить, может ли тот же сценарий успешно выполняться в автономном режиме, который я добавил вышекод в тестовом базовом классе.Обычно, когда я работаю в Eclipse, я закомментирую безголовый режим, команды размера окна и буду запускаться в Jenkins.Как успешно запустить скрипт из Jenkins

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...