我正在学习如何使用fitnesse。我尝试使用fitnesse与selenium connect 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
答案 0 :(得分:0)
我想如果你只是说
|HelloGooglePage|
除了它是场景之外什么都没有,你需要像下面那样定义它
|scenario|HelloGooglePage|
所以当使用时| HelloGooglePage |调用上面的场景,并执行该场景下的步骤。截图,直接使用| HelloGooglePage |但没有定义任何地方。
有关详细说明,请查看this
而here也是基本的例子
谢谢你, 穆拉利
答案 1 :(得分:0)
当你打电话给!|HelloGooglePage|
时,它会尝试在你的灯具中找到一个没有参数的构造函数,而且它没能得到它,所以Fitnesse将表转换成决策表并查找名为&#34的场景; HelloGooglePage"代替。在这种情况下,请参考他的回答。
但是,从您的测试代码中,您似乎要做的是调用fixture中的构造函数并逐个执行命令,而不是决策表样式。
在这种情况下,你可以简单地
答案 2 :(得分: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 \ 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
!路径目标/类
!定义TEST_SYSTEM {slim}
!| import | | com.demo |
!定义BrowserType1 {* iexplore}
!| script | HelloGooglePage | http://www.google.com|q|cheese|
| open | www.google.com |
| findElement | q |
| sendKeys | cheese |
|提交|