问题标签 [thucydides]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
285 浏览

selenium - 如何将 sikuliwebdriver 与 thucydides 一起使用?

sikuliwebdriver不在支持的 webdrivers 中,可以在 thucydides 配置中指定。有没有办法通过代码来指定它,等等,让它正确地注入到修昔底德页面对象?

0 投票
2 回答
1984 浏览

eclipse - 使用 Maven 按字母顺序运行 Selenium/Thucydides JUnit 测试

我有一个使用 JUnit 运行测试用例的 Selenium/Thucydides 项目。在 Eclipse 中使用 JUnit 运行时,我可以使用@FixMethodOrder按字母顺序运行测试。这很好用,但是当我在 Maven 中运行测试时mvn verify,测试是随机运行的。

我已经看到您可以<runOrder>alphabetical</runOrder>在 pom.xml 中进行设置,但它似乎也不起作用。

使用 Maven 时是否有按字母顺序运行测试?(我知道他们不应该相互依赖,但有些是在这个时间点,所以需要这个选项,直到我可以让他们独立)

POM.xml:

JUnit:

并使用@Test按字母顺序排列的方法。

0 投票
2 回答
2024 浏览

maven - 我应该在哪里放置 log4j.properties 文件以在 smslib 中启用调试日志记录,当它通过 maven 依赖项添加时?

我正在做一些基于 thucydides-jbehave-archetype 的 java maven 项目。

通过maven添加smslib依赖:

在纯网络测试中,我计划进行一些短信发送/接收;sms 代码放在 src/main/java/projectname/gsm 包中(例如页面对象放在 src/main/java/projectname/pages 中,步骤放在 src/test/java/projectname.jbehave/ 中)。我想为 smslib 启用调试消息,但不是为 thucydides 启用调试消息。但是,log4j.properties 没有用于 smslib 的位置,并且有一个位置导致出现 thucydides 的调试消息。

0 投票
1 回答
702 浏览

maven - 使用来自 Maven 项目的特定测试并行测试 Jenkins

我目前有一个包含约 500 次测试的 Maven 项目。这些是使用 Thucydides 框架的 webdriver 测试。测试有刷卡测试、文章链接测试、分享测试等多种类型。

当前设置的详细信息:* Selenium * Thucydides * Jenkins

我想在 Jenkins 中运行并行测试,但我希望每个 jenkins 作业只运行特定类型的测试。无论如何使用詹金斯作业配置页面的构建部分中的“目标和选项”来只运行特定类型的测试,即只运行刷卡测试?还是有其他选择?

理想情况下,我想为每种类型的测试运行单独的作业,并同时并行运行所有这些作业。

0 投票
1 回答
353 浏览

selenium - 通过 webdriver 运行测试时未添加元素

我正在为使用 jbehave/selenium/webdriver 的 bdd 框架编写故事,并且遇到问题,即测试在运行故事时遇到错误,但在手动运行时似乎很好。我遇到了一个问题,当我在 firefox 上手动运行测试与通过 selenium web 驱动程序在同一系统/版本的 firefox 上运行测试时,我正在测试的功能的 javascript 行为略有不同,这种差异导致 js 错误。

我已经调试过,基本上问题的根源似乎是var request_XML_container = $('div_appendpoint_id');当我手动运行测试与通过 bdd 框架运行时返回的结果不同。

为什么这在手动运行时会正常工作,这var request_XML_container = $('div_appendpoint_id');将返回一个定义了样式的项目,但是当通过 webdriver 运行时,元素的样式属性不会被定义?

更新:我原本以为这是在更新 iframe,但我读错了标记,我看到的 iframe 是响应附加到的元素的同级 - 而不是父级。我试图简单地将响应附加到 div。老实说,这只会让事情变得更加混乱,因为通过 id 获取 div 应该非常简单,我现在确定为什么 webdriver 在这种情况下会产生不同的返回元素。

更新 2: 复制步骤和有关我所在系统的信息:

  1. 使用 webdriver 导航到这个 url: http: //fiddle.jshell.net/C3VB5/11/show/
  2. 让 webdriver 单击按钮。它不应该工作
  3. 再次运行测试,但暂停在代码处放置断点以单击驱动程序
  4. 单击 webdriver 打开的浏览器上的按钮。它不应该工作
  5. 在 webdriver 打开的浏览器上刷新浏览器页面。现在,它应该可以工作了。
  6. 系统详情:
    • 操作系统:OS X 10.8.5 (12F37)
    • IDE:Eclipse 开普勒:内部版本号:20130614-0229
    • 浏览器(手动和 webdriver 使用):Firefox 23.0.1
    • 硒版本:2.35.0

更新 3:我在 github 上提供了这个 maven 项目以帮助复制:https ://github.com/dkwestbr/WebdriverBug/tree/master/Webdriver

概要/tl:博士;基本上,在某些情况下,看起来好像 webdriver 正在使用不返回带有 innerHTML 或定义的样式(以及其他内容)的 HTMLElement 的方法覆盖 '$()' javascript 方法。这篇文章详细介绍了这个问题以及如何重现。

我已经打开这张票来跟踪问题:https ://code.google.com/p/selenium/issues/detail?id=6287&thanks=6287&ts=1379519170

0 投票
1 回答
1432 浏览

webdriver - Thucydides 不尊重 pom.xml 中为从 thucydides-jbehave-archetype 构建的项目指定的浏览器

我有一个从thucydides-jbehave-archetype构建的项目

我正在尝试按照这些步骤更改运行我的项目时运行 Thucydides 的浏览器 http://thucydides.info/docs/thucydides/_running_thucydides_in_different_browsers.html

在 pom.xml 我有这个(来自 thucydides 原型):

根据说明,我已将其更改为:

我还更改了属性部分中的值:

但我的测试仍在使用默认浏览器(firefox)运行。我在这里做错了什么?

0 投票
2 回答
1088 浏览

junit - 修昔底德 - 在@Step 中的断言失败后测试继续

在下面的场景中,我希望步骤中的断言失败应该使测试失败。我看到的是测试仍在继续,并且由于 @Test 方法中的后续断言失败,因此报告了错误的异常,因此难以调试。

无论如何,当@Step 中的断言失败时,我可以让测试停止吗?

尝试从我的 IDE 和 Maven 运行测试。(使用修昔底德跑步者)

0 投票
1 回答
224 浏览

java - Thucydides+Jbehave 中的表格参数

我有以下代码:

以下方法映射到它。

我的问题是,当我运行测试时,函数使用“>loginName>”字符串而不是所需的参数,即使每个示例都有一个场景,我看到它正在映射它们(例如>loginName> = admin) .

0 投票
0 回答
336 浏览

thucydides - 修昔底德标记步骤失败并继续测试执行

我有修昔底德+easyb。

我有一些带有@Test 注释的方法。例如:

在测试故事中,方法按下一个顺序执行: step1 step2 step3

在 step2 AssertionError 已经抛出。并且 step3 将被跳过。

我需要将报告中的第 2 步标记为失败。step3 将执行并在报告中标记为已通过。

我可以在 try catch 中包装断言,但我找不到任何方法来标记 step2 失败并使用 thucydides 回调。

任何人都可以帮助我吗?

0 投票
1 回答
642 浏览

maven - 使用 maven 运行 thucydides,跳过测试

出于测试目的,我将修昔底德与 Jbehave 结合使用。
现在我有一个故事 login.story

场景:成功登录

给定用户在登录页面
给定用户输入他的用户名
给定用户输入他的密码
当用户登录时
然后用户应该在主页上看到他的名字



还有另一个故事story1.story包含登录

元: @username username
@password password
@name name
GivenStories: Login.story


场景: .....

当我使用 maven 运行测试时,使用以下命令
mvn clean verify thucydides:aggregate -Dmaven.test.failure.ignore=true
然后 maven 运行所有故事。
因为 login.story 只是要包含在其他故事中并参数化的故事,所以我不希望它运行。Maven 现在运行它并说它是一个未决的故事,因为它不包含任何示例。

有没有办法避免这种情况?你能告诉maven要运行哪些故事,顺序是什么?