Использование личных SSL-сертификатов с Webdriver (Selenium 2.0)

Я тестирую веб-сайт, который требует личных сертификатов SSL для выполнения определенных действий, таких как вход в систему.

] У меня есть тест Webdriver (Selenium 2.0), который я настроил с помощью прокси:

    Proxy localhostProxy = new Proxy();
    localhostProxy.setProxyType(Proxy.ProxyType.MANUAL);
    localhostProxy.setHttpProxy("www-proxyname:port");

    FirefoxProfile profile = new FirefoxProfile();
    profile.setProxyPreferences(localhostProxy);
    driver = new FirefoxDriver(profile);

И это даст доступ к домашней странице нормально. Затем тест нажимает кнопку входа, вводит правильные учетные данные и нажимает кнопку отправки. На этом этапе браузер переходит в состояние загрузки, и я предполагаю, что это связано с тем, что сертификат SSL отсутствует с моей стороны и, следовательно, не может подключиться к службе входа.

Я искал различные прокси-решения и нашел следующее:

    profile.setAcceptUntrustedCertificates(true);
    profile.setAssumeUntrustedCertificateIssuer(true);

Я добавил его в свой код, но, похоже, он не делает то, что я хочу. Я думаю, что ищу способ сообщить WebDriver, что мой ssl-сертификат находится в каталоге x, используйте его при доступе к этому сайту. Кто-нибудь знает, как это сделать?

Мой тестовый код:

@Test
public void userSignsInAndVerifiesDrawerViews(){
            driver.get("www.url.com");
            waitFor(5000);
    driver.findElement(By.xpath("//a[contains(text(), 'Sign in')]")).click();
    waitFor(3000);
    String username = "seleniumtest";
    String password = "seleniumtest1";
    driver.findElement(By.id("username")).sendKeys(username);
    driver.findElement(By.id("password")).sendKeys(password);
    driver.findElement(By.xpath("//signin")).click();
    waitFor(30000);
    String signInLinkText = driver.findElement(By.xpath("//xpath")).getText();
    assertEquals(signInLinkText, username);
}

Спасибо, Beccy

7
задан JavaJigs 26 October 2015 в 21:54
поделиться