Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fitnesse wiki无法正确调用selenium方法_Selenium_Fitnesse_Fitnesse Slim_Selenium Fitnesse Bridge - Fatal编程技术网

Fitnesse wiki无法正确调用selenium方法

Fitnesse wiki无法正确调用selenium方法,selenium,fitnesse,fitnesse-slim,selenium-fitnesse-bridge,Selenium,Fitnesse,Fitnesse Slim,Selenium Fitnesse Bridge,我正在尝试编写一个简单的装置,打开浏览器并导航到www.google.com。当我运行wiki页面时,它会以全绿色通过,但浏览器永远不会打开(我认为wiki甚至不会调用该方法)。有人能看看我的设备和维基,看看我做错了什么吗?多谢各位 这是维基- !|SeleniumFitness| |URL |navigateToSite?| |http://www.google.com| | 运行后- !|SeleniumFitness

我正在尝试编写一个简单的装置,打开浏览器并导航到www.google.com。当我运行wiki页面时,它会以全绿色通过,但浏览器永远不会打开(我认为wiki甚至不会调用该方法)。有人能看看我的设备和维基,看看我做错了什么吗?多谢各位

这是维基-

 !|SeleniumFitness|
  |URL                  |navigateToSite?|
  |http://www.google.com|               |
运行后-

!|SeleniumFitnesse| java.lang.NoSuchMethodError: org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(Lorg/openqa/selenium/remote/service/DriverService;Ljava/util/Map;)V
 |URL |The instance decisionTable_4.setURL. does not exist|navigateToSite? 
 |http://www.google.com|!The instance decisionTable_4.navigateToSite. does not exist |

您得到了一些很好的建议作为评论—但是为了直接回答您的问题,对于您所编写的旧式ColumnFixture,确实不会调用“navigateToSite”方法

这些固定装置样式不再经常使用,首选Slim,您的fitnesse实例在其文档中将向您展示如何使用Slim样式。但是,对于您所写的列设备,如果您希望调用一个方法,那么它需要是标题行中方法名称后面的“?”

柱夹具见基础文档:

你是在错误地使用柱夹具,即使是旧的样式。ColumnFixture的模式是“这里有一系列表示输入的列,现在这里有一个方法调用,我想调用它来获得输出和检查结果”。浏览网站通常不符合这种模式。在旧式fitnesse中,可能会使用ActionFixture:

在较新的Slim样式中,场景表非常适合导航和检查您的位置

一般来说,通过wiki进行WebDriver/Selenium测试是否是您的最佳媒介值得额外考虑。Fitnesse实际上是一个协作工具,用于直接对照源代码记录和验证业务需求

下面是一个如何使用ColumnFixture的示例,尽管ColumnFixture并不完全合适:

|url|navigateToUrl?|
|www.google.com| |

java class:
public String url;

public void navigateToUrl() {
}

如果导航正常,您可以返回“OK”,如果需要,也可以返回页面标题而不是void。

您编写自己的(另一个)Selenium FitNesse集成的具体原因是什么?您是否在上查看了可用的插件?为什么要编写Fit列fixture,是否要创建某种形式的决策表?当我查看代码和wiki时,我无法完全理解您希望该表表示什么。当您希望使用表按顺序执行许多步骤(如打开页面)时,我建议切换到Slim test runner并使用其脚本表()。您当前的代码使用jUnit
BeforeMethod
注释,这在FitNesse上下文中没有任何意义或作用。感谢您的回复。我不知道slimfixture插件。你能告诉我如何一步一步地将它们导入到我的eclipse项目中吗。它是否像添加maven依赖项一样简单?如果没有,罐子到底在哪里?非常感谢(仅供参考-我是所有这些的初学者到中级,我习惯了黄瓜,但我工作的公司需要fitnesse)。(警告:我有偏见,因为以下项目是我的)。我建议您根据中描述的方法之一创建自己的FitNesse Maven项目。这为您提供了一个FitNesse项目,您可以在其中使用“BrowserTest”fixture()来执行Selenium测试。但是您不必使用整个设置,您也可以将其作为maven项目添加(请参阅项目版本),但还需要一些手动配置谢谢Jim,我更改了我的wiki以反映您给我的“column fixture的基本文档”链接-|SeleniumFitnesse | | | URL | navigateToSite?| | |但我在FitNesseConcept.fitNesse.SeleniumFitnesse中找不到-Method navigateToSite[0]。有什么想法吗?是的-上面代码中的navigateToSite方法采用单个输入参数,即URL-fitnesse正在尝试调用无参数方法。尝试在wiki上更改fixture,以将URL作为单独的列传递,并在fixture类上为其创建公共属性。所以:| url | navigateToSite?|和“publicstringurl;”在fixture类中。从navigateToSite方法中删除输入参数,改为引用url属性。Wiki以全绿色通过,并在空列中返回一个空格。我对我的原始问题进行了编辑,这样你就可以看到我做了什么。浏览器从未启动:(lol-well progress;-)。这可能是进入网络驱动程序的东西,这是不同的追求。但是,您可能会尝试使用您拥有的试图启动浏览器的代码,并将其移动到另一个类,而不是设备中。然后从Java Main调用它并运行它-验证浏览器是否启动正常。一旦你有工作,然后你可以连接到fitnesse夹具再次。啊,等等,我可能看到你的问题。setupClass方法上有一个单元测试框架注释。这不会被调用-fitnesse对testng一无所知-您没有将其作为单元测试运行,因此注释什么也不做。Fitnesse将在fixture类上调用一个无参数构造函数,因此请尝试将您的设置代码放在fixture类的构造函数中。
|url|navigateToUrl?|
|www.google.com| |

java class:
public String url;

public void navigateToUrl() {
}