Не могу проверить селен в фитнесе
Я учусь использовать фитнес. Я пытаюсь написать демо, используя fitnesse, взаимодействовать со страницей Google Selen Connect, но это не работает.
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;
}
Код моего фитнеса: Фитнес
3 ответа
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;
}
Сценарий фитнеса:
! define COMMAND_PATTERN {"C: \ Program Files \ Java \ jdk1.7.0_55 \ bin \ java" -cp% p% m}
! path path / fitlibrary-20080812.jar
! path path / fitnesse-20151230.jar
! path path / junit-4.10.jar
! path path / selenium-ie-driver-2.53.0.jar
! path path / selenium-java-2.53.0.jar
! path path / selenium-server-standalone-2.53.0.jar
! путь цель / классы
! define TEST_SYSTEM {slim}
! | импорт | | Com.demo |
! define BrowserType1 {* iexplore}
! | script | HelloGooglePage | Http://www.google.com| д | сыр |
| открыть | www.google.com |
| findElement | q |
| sendKeys | сыр |
| отправить |
Когда вы звоните !|HelloGooglePage|
, он попытается найти в вашем приборе конструктор без параметров, и ему не удалось его получить, поэтому Fitnesse преобразует таблицу в таблицу решений и вместо этого ищет сценарий с именем "HelloGooglePage". В этом случае обратитесь к его ответу.
Тем не менее, из вашего тестового кода кажется, что вы пытаетесь вызвать конструктор в приборе и выполнить команду одну за другой, а не стиль таблицы решений.
В этом случае вы можете просто
- удалить строку 14
- добавлять '!' перед линией 15
Я думаю, что если вы скажете просто
|HelloGooglePage|
Ничего, кроме сценария, и вам нужно определить его, как показано ниже
|scenario|HelloGooglePage|
Так, что когда-либо использовал | HelloGooglePage| Вызов вышеупомянутого сценария и шаги по этому сценарию будут выполнены. Согласно скриншоту, непосредственно используется | HelloGooglePage| но сценарий не определен где-либо.
для более подробного объяснения, пожалуйста, посмотрите на это
А также вот основной пример
Спасибо, Мурали