2016-04-19 3 views
1

Я изучаю, как использовать фитнес. Я пытаюсь написать демо, используя фитнес, взаимодействую с сайтом google, но он не работает.Не удается проверить селен в фитнесе

My Java's code: 
{ 
package com.demo; 

import com.thoughtworks.selenium.DefaultSelenium; 

@SuppressWarnings("deprecation") 
public class HelloGooglePage { 

    DefaultSelenium selenium; 

    public HelloGooglePage(String host, int port, String browser, String baseURL) { 
     this.selenium = new DefaultSelenium(host, port, browser, baseURL); 
     System.out.println("hELLO"); 
     this.selenium.start(); 
    } 

    public boolean open(String URL) { 
     this.selenium.open(URL); 
     return true; 
    } 

    public boolean type(String locator, String value) { 
     boolean elementFound = this.selenium.isElementPresent(locator); 
     if (elementFound) { 
      this.selenium.click(locator); 
     } 
     return elementFound; 
    } 

    public boolean close() { 
     this.selenium.close(); 
     return true; 
    } 

    public boolean stop() { 
     this.selenium.stop(); 
     return true; 
    } 

код моего FitNesse в: Fitnesse

Error

+0

Это будет более полезно, если вы вставьте свой код в свой вопрос и отформатируйте его, используя блок кода, вместо скриншота. –

ответ

0

Java Код: {

private WebDriver driver; 
private WebElement element; 

private String URL; 
private String elementName; 
private String key; 

public HelloGooglePage(String URL, String elementName, String key) { 
    this.setURL(URL); 
    this.setElementName(elementName); 
    this.setKey(key); 

    File file = new File("C:/Selenium/IEDriverServer.exe"); 
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
    driver = new InternetExplorerDriver(); 
} 

public void open(String URL) { 
    driver.get(URL); 
} 

public void findElement(String elementName){ 
    element = driver.findElement(By.name(elementName)); 
} 

public void sendKeys(String key){ 
    element.sendKeys(key); 
} 

@Test 
public void submit(){ 
    element.submit(); 
    Assert.assertEquals("cheese - Google Search", driver.getTitle()); 
    driver.close(); 
} 

public String getURL() { 
    return URL; 
} 

public void setURL(String uRL) { 
    URL = uRL; 
} 

public String getKey() { 
    return key; 
} 

public void setKey(String key) { 
    this.key = key; 
} 

public String getElementName() { 
    return elementName; 
} 

public void setElementName(String elementName) { 
    this.elementName = elementName; 
} 

Fitnesse Сценарий:

определяют COMMAND_PATTERN { "C: \ Program Files \ Java \ jdk1.7.0_55 \ Bin \ ява»-cp% р% м}

! путь путь/fitlibrary-20080812.jar

! путь путь/FitNesse-20151230.jar

! Путь путь/JUnit-4.10.jar

! Путь путь/селен т.е. водитель-2.53.0.jar

! Путь путь/селен Java-2.53.0.jar

! Path path/selenium-server-standalone-2.53.0.jar

!целевой путь/классы

определяют TEST_SYSTEM {тонкий}

|! импорт | | com.demo | !

определить BrowserType1 {*} Iexplore

|! Скрипт | HelloGooglePage | http://www.google.com|q|cheese|

| open | www.google.com |

| findElement | q |

| sendKeys | сыр |

| отправить |

0

Я думаю, если вы говорите, просто

|HelloGooglePage| 

Ничего, но это сценарий, и вы должны определить его, как показано ниже

|scenario|HelloGooglePage| 

Так что когда когда-либо используется | HelloGooglePage | описанный выше сценарий и шаги по этому сценарию будут выполнены. В соответствии с скриншотом напрямую используется | HelloGooglePage | но не определенный сценарий где-либо.

для более подробного объяснения, пожалуйста, смотрите на this

А также here является основным примером

Спасибо, Murali

+0

Спасибо Murali. я нашел ответ на это «для более подробного объяснения, пожалуйста, посмотрите на эту ссылку», которую вы мне дали. большое спасибо –

0

Когда вы звоните !|HelloGooglePage|, он будет пытаться найти в вашем приспособлении для конструктора без параметров, и он не смог его получить, поэтому Fitnesse переводит таблицу в таблицу решений и вместо этого ищет сценарий с именем «HelloGooglePage». В этом случае обратитесь к его ответу.

Однако, из вашего тестового кода кажется, что вы пытаетесь сделать, это вызвать конструктор в приборе и выполнить команду один за другим, а не стиль таблицы решений.

В этом случае, вы можете просто

  1. удалить линии 14
  2. добавить '!' в передней части линии 15
+0

Спасибо Xiawei Zhang. я попытался, но он не работает. Получил новую ошибку java.lang.NoClassDefFoundError: com/thoughtworks/selenium/DefaultSelenium (я буду исследовать) –

+0

@hienvu использовать! Путь, чтобы добавить ваш батончик зависимости к тесту, а также –

+0

спасибо Xiawei Zhang. Я знаю проблему .... я забыл импортировать селенную банку ... –

Смежные вопросы