问题标签 [graphene2]

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 投票
2 回答
123 浏览

jboss-arquillian - Arquillian Graphene @Location 占位符

我现在正在学习 Arquillian,我想知道如何创建在路径中有占位符的页面。例如:

或者

我一直在寻找有关 graphine 和 arquillian 参考指南的答案,但没有成功。我使用了支持页面对象的其他语言的库,但它内置了对占位符的支持。

0 投票
0 回答
225 浏览

jsf - Arquillian、石墨烯和 PrimeFaces。如何与 fileUpload 组件交互?

我有一个带有 JSF 2.2、PrimeFaces 6.0 的 Web 应用程序。

一切正常,但我不知道我可以通过哪种方式与来自 Prime Faces 的 fileUpload 组件进行交互。

我可以通过哪种方式使用 Arquillian、Graphene 和 Drone 上传文件?

举个例子,这里与其他一些组件的交互,比如 textItems 和 dropdowns

frontendTestComponent 是我的类,只是为了避免总是重复相同的代码。

谢谢!

0 投票
1 回答
80 浏览

selenium - @FindBy 与 Arquillian Graphene 使用 className

我正在使用 selenium 和 testng,但我正在尝试将 arquillian 添加到我的测试中。arquillian 可以处理吗

根据我上面的示例,具有多个类名。当我运行它时,我得到一个:

有没有解决的办法?

0 投票
1 回答
698 浏览

selenium - 初始化页面对象 - Arquillian - Selenium

我是 Selenium 和 Arquillian 框架的新手。我正在尝试实现页面对象模型。Webdriver 浏览器功能保存在 arquillian xml 文件中。

我正在使用 TestNG 并创建了以下类:

问题陈述:我不确定如何在代码中的页面Login之间导航。Home一旦用户使用Login页面方法登录,Webdriver如何使用Home页面方法继续测试?

错误:

navigateURL使用andsetcredentials方法测试运行良好。但是,测试无法访问createOrder方法如下:

请指导我。谢谢你。

0 投票
0 回答
144 浏览

groovy - 是否可以使用 Arquillian/Drone/Graphene 编写 Groovy 测试

我正在编写函数 UI 测试,需要知道 Arquillian/Drone/Graphene 框架是否支持 Groovy 测试。

我发现很难在网上找到信息。可以以这种方式实现 groovy 还是应该更容易坚持使用 Spock 和 Geb 进行 groovy 测试?

0 投票
1 回答
61 浏览

jboss-arquillian - Arquillian Graphene @InitialPage 始终返回 null

我有一个测试场景:

由 arquillian 部署驱动:

但是, loginPage.login(); 给我一个NPE。

当我更改 testable = false 时,我的测试有效......我不明白我做错了什么......

0 投票
1 回答
46 浏览

arquillian-drone - 如何在不管理其生命周期的情况下注入 Drone 实例?

我有一个石墨烯页面对象。

还有一个使用页面对象的测试类。

现在,我决定 MyTest 应该使用方法范围的 Drone 实例。所以我加...

现在,当我运行测试时,我得到了两个浏览器,所有测试都以错误结束。显然,这种生命周期管理也被视为限定词。

是的,添加@MethodLifecycleMyPage 也有帮助。但这不是一个解决方案——一个页面不应该关心这个,并且应该在任何 WebDriver 中工作,无论其范围如何。只有测试拥有管理无人机生命周期的知识。一个页面应该只使用它被调用的任何上下文。我怎样才能做到这一点?

0 投票
0 回答
89 浏览

jboss-arquillian - 使用 arquillian 石墨烯在 chrome 中的选项卡之间切换

我需要使用 Graphene 切换选项卡并继续测试而不会失败。

我正在测试一个创建项目然后从页面上的链接打开该项目的应用程序。

我的问题是它在新选项卡中打开项目并继续测试我必须切换到新选项卡。

我正在使用 selenium 开关 windowHandler 但从 Graphene 收到错误。在创建项目之前,我不会知道新的 URL。

错误:您使用 Graphene.goTo() 或 @InitialPage 导航到的页面对象“CreateChangeSubProjStruct”未使用 @Location 注释

我可以看到新页面打开并位于顶部,但测试正在原始选项卡上运行。

0 投票
0 回答
147 浏览

java - 如何登录到使用石墨烯的注释方法之前?

我正在学习 Graphene 并创建了登录页面和欢迎页面的页面对象。

登录页面

欢迎页面:

如您所见,我使用@Location注释的页面对象。然后我创建了两个测试类,每个页面一个:

登录页面测试。尝试登录并检查以下(欢迎)页面的元素。

测试欢迎页面。

这可行,但我想从测试用例中提取冗余登录,这样我只有一个需要维护的地方。我在过去几个小时内阅读的所有教程和 wiki 文章总是在每种测试方法中一遍又一遍地登录。由于我想避免这种情况,我尝试将其提取到这样的@Before方法中:

但这给了我以下IllegalArgumentException例外:

java.lang.IllegalArgumentException:参数数量错误

所以我认为用注释的方法@Before不能包含任何参数。

然后我尝试编写一个@Before-method 来手动打开登录页面,类似于几个(较旧的)selenium questions like this one中的建议。因此,我创建了以下课程,但在打开我的登录页面的 url、登录和欢迎页面上的“登陆”时遇到了困难。

但这带来了两个问题:首先,我的页面对象的 URL 在测试中被硬编码(也许 [使用像这个问题中的反射 API)是一种解决方法。第二个问题是:它不起作用,因为WelcomePage页面没有打开,因此找不到版本标签。

org.openqa.selenium.NoSuchElementException:无法找到 ID 为标签的元素

有谁知道将登录提取到非冗余方法中的解决方案,在每个方法之前执行@Test并提供有效对象?

0 投票
1 回答
22 浏览

selenium - 粘贴后如何直接显示/渲染 XHTML 源代码?

在我目前使用的 Arquillian 中,使用 Graphene(包装 Selenium)在调试器中调试功能测试非常有意义,WebDriver.getPageSource它允许轻松地将 XHTML 代码复制到剪贴板中。但是,我需要在编辑器中创建一个临时文档,保存文件并在浏览器中打开它。

是否有任何浏览器或网站允许粘贴 XHTML 源代码并呈现(直接或在 IFrame 中)?