问题标签 [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 投票
1 回答
137 浏览

jsf-2 - 当我用 Graphene 2 创建 js 接口时,我应该把 .js 文件放在哪里

我按照本教程https://docs.jboss.org/author/display/ARQGRA2/JavaScript+Interface

我应该把我的 helloworld.js 文件放在哪里?我把它放在 webapp/resources/js/helloworld.js 下,我做

我注射时得到了NPE

请帮忙。这是我的 POM,我使用 glassfish3.1

0 投票
2 回答
1672 浏览

java - 我如何告诉 Graphene 加载我的@Page?

TL;DR:我如何告诉 Graphene 为 @Page-injected 对象加载哪个(相对)URL?


我正在尝试使用“最先进的技术”设置我的 Web 前端集成测试,即 Arquillian、Arquillian Drone、Selenium 2 和 Graphene 2 的组合。

使用 Arquillian、Drone 和普通的 Selenium WebDriver(即没有任何石墨烯特定的东西),测试看起来像这样:

(由于 ShrinkWrap 的文档不是最新的,我花了一段时间才正确部署。)

这个简单的测试只是检查我们是否从主页重定向到登录页面,并且它的标题是否正确。有用。

Graphene 2 添加了一个重要的新功能,“自动装配”页面抽象。然后我的测试可能看起来像这样(省略上面的导入和部署部分):

使用这个“页面抽象”对象:

这实际上有效,我的测试没有失败,甚至输出正确的标题。 但这根本不起作用(我不知道为什么我似乎认为它起作用,我一定看过之前测试的输出)......

我得到一个“org.openqa.selenium.NoSuchElementException: Unable to locate element with name: title”,堆栈跟踪非常长(通过所有 Arquillian、Graphene、Java Reflection API、Maven Surefire 插件和我的两行代码)。

调试方法显示它最终尝试访问 Html-Element,而手头的 HtmlPage 是一个about:blank-page,而不是我的登录页面。

这是它应该如何工作的吗?为什么它对我不起作用?

然后我想测试登录页面以外的其他页面,为此我需要使用其他起始 URL。

使用普通的 Drone+ Selenium Webdriver,我会简单地使用

作为测试的第一行。但是如何处理 Graphene 2 @Page-Annotation?

如何告诉 Graphene 为 @Page-injected 对象加载哪个 URL(相对于 deploymentUrl)?

0 投票
1 回答
101 浏览

java - 石墨烯抽象——断言的最佳实践

我开始使用 Graphene 提供的页面抽象(页面对象和页面片段)编写我的测试。我正在尝试确定编写断言的最佳实践是什么。具体来说,我试图决定断言应该放在哪里。它应该在页面片段上、页面对象上还是在测试类上?我习惯于对我的测试类进行所有断言,但这是“旧”方式。

例如,断言一个元素是否有一个 css 类可以通过以下方式完成:

或者

其中 pageObject 是 Graphene 定义的页面对象:

该页面也可以很容易地定义一个页面片段,该页面片段又可以具有断言。是否有明显的最佳实践?

先感谢您。

0 投票
3 回答
695 浏览

selenium - 是否可以在不使用 Arquillian 容器管理和部署的情况下使用 Arquillian Graphene?

我有一组相当大的 Selenium 驱动的 UI 测试,维护起来非常麻烦。我读过 Arquillian Graphene 及其好处,让 Selenium 的生活变得不那么痛苦。

我想知道是否可以在不使用 Arquillian 框架的情况下使用 Arquillian Graphene (2),即简单地针对正在运行的应用程序驱动 Selenium 测试。您是否有任何经验或是否有任何使此设置起作用的障碍?干杯,克里斯

0 投票
2 回答
387 浏览

configuration - arquillian-drone-graphene 功能测试的良好配置是什么?

我找不到使用 arquillian-drone-graphene 进行 JEE7 Web 应用程序功能测试的良好配置。注意:我可以在 Arquillian 测试套件中运行 CDI 和 EJB 测试;他们工作正常。我的 POM.xml 如下:



我的 arquillian.xml 如下:

有人可以建议我为 wildfly-8.2.0.Final + arquillian + Drone + Graphene 功能测试 POM 提供一个好的配置吗?

注意:使用上述配置,我的功能测试总是以以下错误跟踪结束:

0 投票
1 回答
182 浏览

input - 为什么 Graphene WebDriver 测试浏览器实例中不显示 JSF UI 组件?

我想知道为什么我的 JSF 2.2 UI 输入组件没有在我的 Arquillian Drone Graphene WebDriver 的测试浏览器实例中呈现。我的测试页面如下:

我的 Arquillian 无人机测试课程如下:

并且所有这些结果(在运行 maven 测试中)进入以下 WebDriver 测试浏览器

在此处输入图像描述

为什么 JSF 没有在这个测试浏览器中呈现?

0 投票
1 回答
169 浏览

jakarta-ee - Arquillian Graphene/Drone 测试使用错误的端口访问 WebLogic 托管服务器

我正在使用 Arquillian 为我的一个项目执行集成测试,并发现当应用程序部署到 WebLogic 12c R2 容器时,Arquillian Graphene/Drone 使用了错误的端口号来执行浏览器测试。测试启动浏览器时,使用分配给 WebLogic 管理服务器的端口,而不是分配给 WebLogic 托管服务器的端口,这意味着容器返回 HTTP 404 错误,导致测试用例失败。

我已经研究了各种 Arquillian 组件的代码,并且我相信我已经找到了问题的根本原因。问题似乎出在“wls-common”模块的RESTUtilsdeploy(CommonWebLogicConfiguration config, Logger logger, Archive<?> archive)类中,该模块包含负责将存档部署到 WebLogic 托管服务器并将其ProtocolMetaData返回给 Arquillian 的方法。Arquillian Graphene/Drone随后ProtocolMetaData使用它来访问网页。

在此方法中是 HTTPContext httpContext = new HTTPContext(adminUrl.getHost(), adminUrl.getPort());用于构建ProtocolMetaData对象的以下代码行。这意味着正在使用管理端口,而不是分配给托管服务器的端口。

假设我已经正确确定了根本原因,我不相信这个 Arquillian 容器适配器可以与 WebLogic 12c R2 一起使用,这让我觉得我可能试图错误地使用这个适配器。

我的 POM 文件中 WebLogic 容器适配器的 Maven 依赖项如下:

我的 arquillian.xml 文件中的条目如下:

我使用的 WebLogic 版本是 12.2.1

我的问题是我在尝试使用此容器适配器部署到 WebLogic 12c R2 容器时是否遗漏了什么?有其他人成功使用此适配器吗?

由于 WebLogic 容器在单独的主机上运行,​​我相信我需要使用 REST 适配器而不是远程适配器,因为远程适配器似乎需要 Arquillian 测试与 WebLogic 容器在同一主机上运行。

0 投票
2 回答
165 浏览

testng - 用于黑盒硒测试的 Arquillian

我正在尝试使用 Arquillian / Graphene 进行硒黑盒测试。我想将 arquillian 与 testng 一起使用。

我不使用任何 jboss/tomcat。我想像在 testng 中那样将我的测试作为独立测试运行。

我的测试非常简单。

但我得到了这个例外。我对此一无所知。请帮忙。

0 投票
1 回答
423 浏览

java - 遵循 arquillian-graphene 指南的问题

我和一个朋友在遵循本指南时遇到了严重的困难:

http://arquillian.org/guides/functional_testing_using_graphene/

之前我们使用 arquillian 编写了第一个入门指南,jboss 容器也存在严重问题,但设法通过了它,尽管我们必须恢复到 java7 才能使其工作。

然后我们按照本指南进行操作,但无法使其正常工作,我们几乎尝试了在互联网上找到的所有内容,并且在 stackoverflow 中已经出现了很多错误,但没有一个能解决我们的问题。

以下是日志、pom.xml 和 arquillian.xml 代码,其余的 java 类与指南中的相同:

最新错误日志:

Pom.xml:

Arquillian.xml:

0 投票
2 回答
1124 浏览

jboss-arquillian - 如何在 ChromeDriver 中使用 Arquillian Graphene 2

如何在 Chrome 等不同浏览器中使用 Graphene 2?(默认的 htmlUnit 不适合我。)

在 Arquillian 容器中运行 Wildfly 8.1 服务器,我想使用 Drone + Graphene 来执行实际测试。

我尝试将其添加到 arquillian.xml 配置中(没有运气):

结束于:

我真的需要以某种方式将 Chrome 二进制文件嵌入到我的项目中吗?