Создание пользовательского объекта в Salesforce Lightning с помощью Selenium Webdriver - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь попрактиковаться в использовании Selenium, выполнив простую операцию по созданию пользовательского объекта в Salesforce Lightning. Мой код прекрасно работает в Classic, но как только я переключаюсь на Lightning, он почему-то работает только до определенного момента.

Что работает:

driver.get("http://login.salesforce.com");
driver.manage().window().maximize();    
driver.findElement(By.xpath("//input[@id='username']")).sendKeys("<USERNAME>");      
driver.findElement(By.xpath("//input[@id='password']")).sendKeys("<PASSWORD>");
driver.findElement(By.xpath("//input[@class='button r4 wide primary']")).click();

driver.findElement(By.xpath("//*[@id=\"oneHeader\"]/div[3]/div/div[2]/div/div/ul[2]/li[3]/div")).click();
driver.findElement(By.xpath("//*[@id=\"oneHeader\"]/div[3]/div/div[2]/div/div/ul[2]/li[3]/div/div[2]")).click();

Так что я могу войти в систему и получить доступ к странице создания объекта просто отлично. Проблема в следующем бите кода, который должен быть самым простым:

driver.findElement(By.xpath("//input[@id='MasterLabel']")).sendKeys("Address");      
driver.findElement(By.xpath("//input[@id='MasterLabel']")).sendKeys("Addresses");
driver.findElement(By.xpath("//input[@value=' Save ']")).click();```

Я получаю сообщение об ошибке:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@id='MasterLabel']"}

То, что я пробовал:

  1. Поиск полей ввода по имени и идентификатору вместо xpath. Те же результаты
  2. Попытка реализации явного ожидания. Не похоже, что это имеет значение
  3. Попытка сделать метод driver.switchTo (). Frame (), но Webdriver не может обнаружить iFrame на странице.

Любая помощь будет принята с благодарностью! Спасибо

...