问题标签 [galen]
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.
selenium - 将 Galen 框架与 Cucumber 集成
我想整合 Galen 和 Cucumber。我的意图是在 Cucumber 功能步骤中运行 Galen 规格配置。为此,我写了以下内容:
哪个是来自https://github.com/galenframework/galen-sample-java-tests.gitGalenTestBase
的同名类和First
(类的名称)是功能的名称。
问题是我得到了java.lang.RuntimeException: The driver is not instantiated yet
。我认为这是因为驱动程序实例@BeforeMethod
化GalenTestNgTestBase
.
有什么建议我怎样才能实现这种整合?
node.js - galenframework 安装失败
我正在尝试安装 Galenframework。我之前有 GalenFramework,我使用以下方法卸载了它:
现在,当我尝试使用再次安装它时
我收到以下错误消息:
是什么导致了问题?
node.js - Dockerize 框架测试“执行失败”
我想 dockerize galenframework 测试。这是我目前拥有的:
DockerFile
码头工人-compose.yml
包.json
运行后docker-compose up -d
出现以下错误:
信息安装意外退出 npm info 生命周期 galenframework-cli@2.3.5~postinstall:无法执行 postinstall 脚本 npm WARN docker_galen@1.0.0 没有存储库字段。npm WARN docker_galen@1.0.0 没有许可证字段。npm 错误!代码 ELIFECYCLE npm 错误!errno 1 npm 错误!galenframework-cli@2.3.5 postinstall:节点 postinstall.js npm ERR!退出状态 1 npm ERR!npm 错误!galenframework-cli@2.3.5 安装后脚本失败。npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。
我怎样才能解决这个问题?
node.js - galen:如何等待具有相同 url 的动态新页面
我开始与 Galen 合作,我的测试运行良好:
我知道该waitForIt
方法等待页面定义的所有属性,因此框架知道何时执行下一条语句。
现在,我想把它作为一个 grunt 任务运行,我一直在使用grunt-galenframework
,并且我配置正确,一切正常,但是我无法使之前的测试通过,任务代码如下:
如您所见,我进入Welcome Page
然后我需要单击一个按钮,等待一个对话框出现,然后检查about.gspec
规范(它们验证对话框内的元素)。
那么如何添加一个等待新元素出现在同一个 URL 上的功能呢?感觉就像grunt-galenframework
只wait
在输入新网址时提供,使用该openPage
方法。
java - Galen 没有公共静态参数方法
在我正在工作的项目中,我试图在没有 TestNG 的情况下使用 Galen(因此,基于 JUnit 的版本)。
这是我制作的示例类的代码:
这几乎是可以在 Galen 文档中找到的 Java 使用代码。我在运行此代码时遇到问题,因为它指出:
起初,我以为它指的是“welcomePage_shouldLookGood_onDesktopDevice()”方法中的方法调用,所以我插入了一个 super.methodName() 来尝试修复它,但它没有用。我也尝试阅读所有超类的源代码,但我找不到任何有用的东西可以帮助我防止这个异常。有人能指出我正确的方向吗?
编辑
根据要求,这是代码的更新版本。它现在包含一个用于测试设备的可迭代方法(如善意指出的 hypery2k)。原始问题已解决,因为 createDriver() 方法仅使用 @Overriden 进行了注释,而它应该仅使用 @Test 注释。现在我面临以下问题,首先我将放置新的更新代码,然后是堆栈错误。
该类现在给出以下错误:
我一直试图弄乱我添加的一些方法(比如调用 super() 的构造函数),但它仍然给出相同的错误。即使使用原始固定代码,它也会返回相同的错误。
javascript - 结合 Galen 和 Protractor 框架
故事
我们一直在广泛使用 Protractor 框架,并建立了一个相当大的测试代码库。我们也一直在遵循页面对象模式来组织我们的测试。
最近,我们开始使用Galen 框架来填补视觉/布局/响应式设计测试的空白。我们真的很喜欢这个框架,并希望继续更多地使用它。
现在最大的问题是页面对象。两个框架都有自己定义页面对象的方法。
这是一个 Protractor 页面对象示例:
而且,这是一个示例 Galen 页面对象:
目前,我们正在复制定位器并重复自己 - 违反DRY 原则。而且,另一个后续问题是 Galen 目前仅支持“by css”、“by id”或“by xpath”定位技术——这意味着页面对象不会一对一映射。
问题
有没有办法避免重复将 Protractor 和 Galen 组合在一起的页面对象和元素定位器?
jenkins - 盖伦谈詹金斯错误
嗨,我正在本地机器上使用 galen 框架运行测试,它运行成功,但是当它在 jenkins 上运行时,出现以下错误:
我已经在 jenkins 上安装了 Xvfb。Galen 是否有额外的配置可以在 jenkins 上运行?
这是我拥有的 Xvfb 配置:
之后我运行 npm run e2e-galen:ci 命令。
selenium - 盖伦:文本验证
我刚刚开始将 Galen 与 Java + TestNG 框架一起使用,并试图弄清楚如何验证具有display: none
与之关联的 CSS 属性的元素的文本。
该元素的 Dom 结构看起来像这样
元素span class="shadow-textbox textbox-control cost right"
具有display: none
与其自身关联的属性。
我想验证该跨度 ( span class="shadow-textbox textbox-control cost right"
) 的文本,但它说该元素在页面上不可见
我试图验证其父 span 元素的文本span class="textbox-container horizontal-layout controlElement"
,但它说the text is "" but should be "1"
对此的任何帮助将不胜感激。
selenium - Selenium MicrosoftEdgeDriver 不会准确调整浏览器大小
我正在使用 MicrosoftEdgeDriver 在 Galen 框架下运行一些视觉回归测试。是否有其他人遇到浏览器被调整为与预期不同的数字的问题?
例如,当调整高度 = 640 和宽度 = 360 时,我得到以下信息:
System.out.println("edge browser size: " + getDriver().manage().window().getSize());
System.out.println("expected browser size is: " + height + ", " + width);
结果:
edge browser size: (768, 383)
expected browser size is: 640, 360
对于 1024x768 的高度 x 宽度:
edge browser size: (768, 383)
expected browser size is: 640, 360
对于高度 x 宽度 = 768x1024:
edge browser size: (777, 1028)
expected browser size is: 768, 1024
由于这种行为是一致的,我的测试通过了,但我只是想确保我没有遗漏任何东西,或者 MicrosoftWebDriver.exe 确实存在问题。
我没有在 firefox、chrome 或 IE 中进行过相同的测试。