Java 如何使用selenium webdriver登录Salesforce(Chrome)应用程序并避免身份验证)

Java 如何使用selenium webdriver登录Salesforce(Chrome)应用程序并避免身份验证),java,selenium-webdriver,css-selectors,salesforce,lazy-loading,Java,Selenium Webdriver,Css Selectors,Salesforce,Lazy Loading,我尝试使用此脚本登录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("

我尝试使用此脚本登录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);
要以AUT为基础登录Salesforce Web应用程序,您必须诱导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();

为了避免身份验证,您可以转到正在使用的Salesforce组织,并将您的IP标记为受信任。一旦您这样做了,您将能够在没有双重身份验证的情况下登录所有未来的测试运行(只要它们使用相同的IP)

要将您的IP标记为受信任,请转至设置-安全控制-网络访问