2017-02-23 121 views
0

Я пытаюсь настроить свой первый очень простой UX-тест с помощью Vaadin TestBench. Чтобы избежать головной боли при загрузке драйверов и установке значений System.properties или PATH, я также использую библиотеку WebDriverManager.TestBench не открывается браузер

Чтобы сделать это немного сложнее, наша страница входа в систему - это JSP, который нам нужно будет открыть и пройти проверку подлинности, прежде чем сможет проверить приложение Vaadin.

Вот простой тест, который я пытался:

public class LoginIT extends TestBenchTestCase { 

private static final String URL="http://localhost:8080/"; 

@Before 
public void setup() throws Exception { 
    ChromeDriverManager.getInstance().setup(); 
    setDriver(new ChromeDriver()); 
} 

@After 
public void tearDown() throws Exception { 
    if (getDriver() != null) { 
     getDriver().quit(); 
    } 
} 

@Test 
public void testLogin_success() { 
    getDriver().get(URL); 
    Assert.equals(URL, getDriver().getCurrentUrl()); 
    WebElement usernameField = driver.findElement(By.name("username")); 
} 
} 

Простой тест выше будет проходить на утверждение CURRENTURL. Однако он не находит элемент. enter image description here

У меня есть два вопроса.

  1. Браузер не открывает/не переводит URL. При запуске теста Chrome не открывает новую вкладку/страницу, если Chrome уже открыт. В качестве альтернативы, если я разрешаю ему запускать браузер, он делает это, не открывая страницу (на Mac OSX), поэтому я никогда не смогу визуально подтвердить, что она перемещается по URL-адресу.

Я пробовал Firefox, у которого, по-видимому, много проблем с Selenium и PhantomJS, у которых есть проблемы с отсутствующим .lib-файлом в последнем двоичном файле. С помощью WebDriverManager я понизился до PhantomJS 2.0, но это время ожидания http://localhost:29436/status.

  1. Если он «успешно» перемещается по URL-адресу, как говорит Хром, он не может найти элемент. Это может быть связано с номером 1?

Если TestBench не может обрабатывать логин JSP, это будет бесполезно для моего приложения. Любая помощь приветствуется. Что я могу делать неправильно, что вызывает проблемы?

ответ

1

создал простой пример теста для этой проблемы https://github.com/rogozinds/testbenchexample

Какой версию Testbench вы используете? Можете ли вы попробовать запустить его без использования ChromeDriverManager, просто скачайте chromedriver https://sites.google.com/a/chromium.org/chromedriver/downloads и добавьте его в свою систему PATH.

getDriver(). Get (URL) - должен хотя бы открыть новое окно Chrome и перейти к URL-адресу. Но как я понял, этого не происходит?

P.S Я пробовал ваш пример с Testbench 5 без ChromeDriverManager и простого файла index.html.

+0

Задайте вопрос в разделе комментариев. – Avinash

+0

Я обновил до 4.2 и Firefox, используя geckodriver, откроется, но не перейдет к URL. у него когда-то были «данные»; в адресной строке, что было странно. Chrome открыл один раз с правильным URL-адресом и загрузил страницу входа в jsp. Пока еще не удалось воспроизвести. – fakataha