问题标签 [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.
jsf - 如何以最便携的方式通过 Graphene 访问 PrimeFaces 组件?
我正在为带有 Primefaces 6.1 组件的 Java EE Web 客户端编写 Arquillian+Graphene 功能测试,并希望从一开始就以最便携的方式编写它们。
我注意到不可能像WebElement.click
在任何可点击的 PrimeFaces 组件上执行操作(例如,不能打开,p:selectBooleanCheckbox
因为它WebElement
是一个div
包含另一个div
包含一个的input
),所以我必须
- 找出每个组件的可点击组件的结构并通过 XPath 访问它
- 在我更改 PrimeFaces 版本后,为每个组件计算以上内容
类似的问题是 access by 的情况id
:可点击元素似乎以 为后缀_input
,但这可能与上述元素层次结构一样不可移植。
如何尽可能避免上面列出的问题?或者更抽象:人们如何测试 PrimeFaces 组件?
使用 Selenium WebDriver 进行 PrimeFaces fileUpload 测试的唯一答案是提出我的问题作为解决方案。
selenium - 为什么我可以单击 type=radio 为 ah:selectOneRadio 的输入,但不能单击 ap:selectOneRadio 和 Graphene/Selenium 之一?
Ah:selectOneRadio
结果在<input type="radio">
一个表格中,p:selectOneRadio
在<input type="radio">
一个带有一些div
s的表格中input
。两者的 id 都是[form id]:[selectOneRadio id]:[option number]
我可以在石墨烯功能测试中成功使用纯 JSF 访问它时使用的,@FindBy(id="[...]")
而 PrimeFaces 变体由于org.openqa.selenium.ElementNotInteractableException
. 调查生成的 HTML 我看不出有什么不同
如果我将应用程序部署在 Payara 4.1.2 或任何其他ElementNotInteractableException
.
访问完成
我正在寻找触发 JSF 操作方法和 AJAX 侦听器的解决方案!
我也会对通用方法感兴趣,例如p:selectOneButton
产生
乍一看,这似乎与生成的 HTML 没有任何共同之处p:selectOneRadio
。也许有什么诀窍。
SSCCE 可以在https://github.com/krichter722/graphene-click-input-radio找到。
我正在使用 PrimeFaces 6.1。
jboss-arquillian - 如何在 Graphene 2.3 上制作 MavenImporter
我正在使用基于 jsf 的 Web 应用程序,并且我进行了一些使用 Arquillian 的功能测试。
我的 pom 文件的依赖项如下
我的部署方法从以下行开始
一切正常,但在 createDeployment 方法的第一行将 graphene-webdriver 依赖项从 2.2.1 更新到 2.3.2 后,会引发异常。
我做错了什么?你能帮助我吗?谢谢
jakarta-ee - “无法在 60 秒内检索无人机实例”
我正在使用一本名为Workshop Java EE 7 的德语书学习 Java EE 7,它基本上需要一个人手动构建一个正在运行的示例应用程序。在本书的第二个“迭代”中,正在定义集成测试(GitHub 分支)。但是,我无法让它们运行。当我启动 WildFly 然后执行mvn verify
时,Firefox 打开时显示“没有可用的窗口”,60 秒后,它崩溃并且我得到一长串错误(见下文)。我一直在谷歌搜索所有的错误消息,尽管在各种平台(包括 StackOverflow)上讨论了许多类似的问题,但我找到的答案都没有解决我的问题。由于作者在网上提供了整个项目,我可以指出代码的相关部分:
我希望你能帮助我解决这个问题,特别是因为我确信它也与本书的许多其他读者相关,这本书是 amazon.de 上的顶级 Java EE 书籍之一。非常感谢您!
我正在使用 macOS 10.12、Java 8、WildFly 8.1.0 和 Firefox 57。
在下面找到错误消息的缩短控制台输出:
在下面找到错误消息的完整控制台输出:
java - 如何在 Arquillian 功能测试中创建 Payara 用户帐户?
我正在使用 Arquillian 在嵌入式 Payara 上部署 Java EE WAR,以使用 Graphene 进行功能测试。一切正常。
但是,我想知道是否可以测试@RolesAllowed
受保护的 RESTful 方法的用户身份验证。Afaik 无法在 Java EE 服务器和 GlassFish 和 Payara 中创建用户,这是在 Web 管理 UI 中完成的:
- 我没有找到任何关于 Payara RESTful 或类似 API 用于 Payara 管理任务的信息。
- 无人机驱动程序似乎没有在文件系统上创建任何内容,因此无法访问该
asadmin
命令。 - 根据
sudo netstat -tupln | grep java
Payara 嵌入式进程仅打开端口 8181 (HTTP) 和 8182(无法在浏览器中打开)。 - 我的问题类似于How to test login with Arquillian - Java EE 7,其答案不起作用,因为
CommandRunner
没有注入,并且评论说接口已经改变——不管这意味着什么。 - Embedded Glassfish、安全性和 Arquillian 问题中的方法不起作用,因为不清楚
Server
使用了哪个类,并且没有可用的类与所有方法名称匹配(我尝试了 NetBeans 自动完成中弹出的所有方法)。
我知道用远程实例替换嵌入式的可能性,但这不是问题的一部分。
我正在使用 Payara 4.1.2.174。
reflection - 使用 Graphene @Page 创建一个类的实例
使用 Graphene @Page 创建一个类的实例
我有一个要求,我在运行时找到类并在运行时调用它的方法。在调用其方法时(使用反射 java),除了在搜索类中注入的页面/类之外,所有内容都被初始化。
例如,我正在寻找一个包含注入的 grpahene @Page ABC abc 的类 XYZ;除了其他变量和方法。我可以在运行时使用 ClassLoader 找到 XYZ 类并获取用于创建实例并调用其方法的类。调用其方法时,abc 为空
执行此操作时如何加载 abc?有没有办法以石墨烯的方式加载类/创建实例?
此外,我可以使用@Page 以编程方式注入普通的 java 类吗?
selenium - 如何检查 ap:selectBooleanCheckbox 并等待它在 Graphene/Selenium 中被检查?
类似于为什么我可以单击 type=radio 为 ah:selectOneRadio 的输入,但不能单击 ap:selectOneRadio 和 Graphene/Selenium 之一?我想知道如何p:selectBooleanCheckbox
使用 Arquillian 和 Selenium/Graphene 在功能测试中检查 a 并等待检查。
我已经想通了
- 在纯 HTML 中,检查状态不是由
checked
属性的值决定的,而是由它的存在决定的,而在 XHTML(属性需要始终存在的地方)中,由值决定checked
(不是true
orfalse
,但为什么要制定一个直观的新标准。 ..),有关详细信息,请参阅https://www.w3schools.com/tags/att_input_checked.asp。 - Selenium 文档在某些情况下可能会产生误导(我什至会说是错误的),因为它没有区分
""
,null
例如在某些情况下,喜欢ExpectedConditions.attributeToBe(WebElement, String, String)
并且没有提及它 - 然后改进它的请求被关闭提示Javadoc 被认为是错误的,因为所有内容都在 W3C Web 驱动程序规范中有详细记录。 - 那
WebElement.click
(WebElement
实例指的p:selectBooleanCheckbox
是最小环境中的作品的ID,但不是复杂环境中的作品。
在 JSF 中声明WebElement.click
的元素上单击复选框后,当我使用 Firefox 进行视觉调查时,复选框被选中:@FindBy(id="mainForm:mainCheckbox")
我试过了:
- 调查始终存在
checked
的生成的属性div
(或者可能不存在,请参阅上面的 Selenium 文档的问题) - 等待
checked
嵌套 HTML 的属性,_input
该属性checked
显然不是属性(或者可能不是,见上文)。
selenium - 在 testng/arquillian/drone/graphene 和绕过 arquillian.xml 方面需要帮助
让我设置我的测试环境。我们从命令行在虚拟机上运行我们的测试。从命令行运行 testng.xml。不能通过它传递参数。我们有一个包含所有运行时参数的 test.properties,并通过它设置浏览器类型、版本、主页 URL 等。我们目前正在使用页面对象。
我们有一个所有 pageTests 都继承自它的 functionalTest.java,它解析 test.properties 并为 600 次测试的特定运行设置所有参数。我想转换为使用 Arquillian/Graphene/Drone,但我很难在我的环境中设置它。
我不能使用 arquillian.xml,因为每次运行都会有所不同,而且我无法为每次运行附加不同的文件。因此,我需要相信在我的functionalTest.java 中为所有内容设置系统属性。到目前为止,我已经尝试过:
// 文件 :FunctionalTest.java 包测试;
// 文件 :HomePageTest.java 包测试;
// 文件 :HomePage.java 封装页面对象;
运行 OpenUrlTest 会产生“缺少 arquillian.xml”错误。如果我放入一个 arquillian.xml,我所做的任何事情都不会覆盖浏览器类型。有什么帮助吗?
格雷格
python - 不能在石墨烯测试中使用字符串化 JSON
我正在尝试编写一个测试,该测试为我的一个字段(questionData)接收一个字符串化的 json 值,但它失败了:
我这样写了突变:
但我不断收到此错误:
{'errors': [{'message': '语法错误 GraphQL (5:40) 预期 :, 找到字符串 ":"\n\n4: creatorId: 395549257913,\n5: questionData: "[{"title":"这是一道试题","description":"试题说明","answers":[{"text":"Yes","point":50,"autofail":true},{"text":"否","point":50,"autofail":false}]}]"\n ^\n6: ) {\n', 'locations': [{'line': 5, 'column': 40}] }]}
django - 带有通用解析器的 Graphene-django 返回列表或字段
我正在尝试简化我的 graphene-django 视图,使其具有单个石墨烯查询,该查询根据是否发送参数返回 graphene.List 或 graphene.Field。
我正在尝试以下代码,但我不确定如何处理 List 和 Field 响应之间的变化;
这是我当前的 schema.py,有两个单独的