2016-04-26 3 views
0

Хотите открыть браузер от concordion.
Попытка открыть браузер из класса System.java. Но заметил, что WebDriver driver = new FirefoxDriver(); не выполнен.Как инициализировать браузер из рамки конкордиона

Вот структура моего проекта; -

enter image description here

System.java класс: -

package com.tutorialspoint; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class System { 
    public String initization(String browserName){ 
     String url = null; 
     if (browserName=="firefox") 
     { 
      WebDriver driver = new FirefoxDriver(); 
      driver.get("http://www.google.com"); 
      url = driver.getCurrentUrl(); 

     } 
    return url; 

    } 
} 

Это мой класс BrowserFixture.java: -

package specs.tutorialspoint; 
@RunWith(ConcordionRunner.class) 
public class BrowserFixture { 
    System system = new System(); 
    public String initization(String browserName){ 

     return system.initization(browserName); 

    } 
} 

Вот мой .html вход: -

<html xmlns:concordion="http://www.concordion.org/2007/concordion"> 
<head> 
    <link href="../concordion.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
    <h1>Browser Initilization</h1> 
     <div class="example"> 
     <h3>Example</h3> 
     <table> 
     <tr> 
     <th>browserName</th> 
     <th>initization</th> 
     </tr> 
     <tr concordion:execute="#result = initization(#browserName)"> 
     <td concordion:set="#browserName">firefox</td> 

     </tr> 

    </table> 
    </div> 
</body> 
</html> 
+0

Возможно, вы захотите загрузить рабочий пример с помощью Concordion 2.x из https://github.com/concordion/concordion-scope-examples/tree/per_spec_parallel. Он содержит набор тестов на основе браузера, один браузер открыт для каждой спецификации и параллельно запускает спецификации. Другие ветви репозитория содержат различные области для открытия/закрытия браузера. Подробнее см. Https://github.com/concordion/concordion-scope-examples/blob/master/README.md. –

+0

Обычно инициализация браузера будет «скрыта» в классе прибора, так что спецификация ссылается на то, что пользователь пытается достичь, а не на то, как они это делают. См. Http://concordion.org/technique/java/markdown/ для получения более подробной информации. –

+0

Кроме того, Concordion 2.x позволяет вам писать свои спецификации в Markdown, которые легче читать и писать, чем HTML. Они показаны в рабочем примере, указанном выше, и задокументированы на http://concordion.org/. –

ответ

0

Для сравнения строк вам необходимо использовать функцию string.equals(Object other), а не оператор ==.

Браузер открывает OK, если заменить:

if (browserName=="firefox") 

с:

if (browserName.equals("firefox")) 

См How do I compare Strings in Java для более подробной информации.

См. Также мой комментарий к этому вопросу для некоторых общих замечаний по этому примеру.