Как войти в приложение Salesforce (Chrome) с помощью веб-драйвера selenium и избежать проверки личности) - PullRequest
0 голосов
/ 01 июня 2018

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

WebDriver driver = new ChromeDriver();
driver.get("https://test.salesforce.com/");
driver.manage().window().maximize();
Thread.sleep(3000);
//login
driver.findElement(By.id("username")).sendKeys("xxxxx");
Thread.sleep(1000);
driver.findElement(By.id("password")).sendKeys("xxx");
Thread.sleep(1000);
driver.findElement(By.id("Login")).click();
driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);

Ответы [ 2 ]

0 голосов
/ 22 июля 2019

Чтобы избежать проверки личности, вы можете перейти в организацию Salesforce, которую вы используете, и пометить свой IP как доверенный.Как только вы это сделаете, вы сможете войти без двухфакторной аутентификации для всех будущих тестовых прогонов (при условии, что они используют один и тот же IP-адрес).

Чтобы пометить ваш IP-адрес как надежный, перейдите в раздел «Настройка» -Контроль безопасности - доступ к сети.

0 голосов
/ 01 июня 2018

Чтобы войти в веб-приложение Salesforce , поскольку AUT основано на отложенной загрузке , вам нужно WebDriverWait для элементов, которые можно нажимать следующим образом:

driver.get("https://test.salesforce.com/");
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.input.username#username"))).sendKeys("RodrigoC");
driver.findElement(By.cssSelector("input.input.password#password")).sendKeys("RodrigoC");
driver.findElement(By.cssSelector("input.button.wide.primary")).click();
...