所以我使用了testcafe的默认docker,它在docker hub上是testcafe/testcafe,我必须运行一些testcafe脚本.
但是,我需要将错误触发的屏幕截图上传到我可以在docker镜像运行完毕后查看它的某个地方.
我正在使用使用bash的imgur程序,所以我重新做了一些事情,使它兼容并且一切正常,除了我需要卷曲.我试过跑步
apk add curl
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误
ERROR: Unable to lock database: Permission denied ERROR: Failed to open apk database:
Run Code Online (Sandbox Code Playgroud)
现在我没有这意味着我没有权限这样做但是我可以解决这个问题,有一些方法可以成为root(这是在bitbucket管道中).
我真的不想创建自己的docker.
另请注意我发现的与此相关的所有问题都是关于在创建docker时安装,但我的问题是如何在创建docker之后执行此操作.thx(一个很好的答案是保存屏幕截图的另一种方法,但最好不用ssh).
我正在尝试编写一个脚本,需要根据CSS选择器找到的特定浏览器对象是否存在来调整其工作流行为.
我不想使用document.getElementByID方法,因为这在技术上不是一个CSS选择器,我们的整个企业都是在CSS选择器上标准化的,所以除了CSS选择器以外的任何东西都不会超过我们的代码审查过程无论如何.
var thing = await things.thingSelector(thingName);
if (await t.expect(thing.exists).notOk()) {
await t.click(things.OpenThing(thingName));
} else {
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud)
thingSelector的位置是:
const thingSelector = name =>
Selector('p.thing-header-title span')
.withText(name)
.parent('div.thing');
Run Code Online (Sandbox Code Playgroud)
OpenThing的地方是:
const OpenThing = name =>
thingSelector(name)
.find('a.thing-footer-item')
.withText('Open');
Run Code Online (Sandbox Code Playgroud)
我需要能够继续执行,如果对象不在那里,我正在检查它是否存在,或者对象是否存在,我正在检查它是否存在,以及对象不存在的情况它不存在,对象不存在,我正在检查它不存在.
在所有情况下,我仍然需要继续工作流程.
我尝试过逻辑硬币的两面:
if (!await t.expect(thing.exists).ok())
Run Code Online (Sandbox Code Playgroud)
和
if (await t.expect(thing.exists).notOk())
Run Code Online (Sandbox Code Playgroud)
如果上述某个方案在一个方案中没有失败,则在另一个方案中将失败,而另一个方案将在第一个方案没有失败的情况下失败.我需要一些能给我逻辑的东西,但不会让脚本执行失败,并且仍然允许我返回True或False,具体取决于对象是否存在.
提前感谢您帮助我解决这个问题,并学习和发展我的Javascript技能!
我目前正在使用 TestCafe 进行一些 e2e 测试。我遇到了以下错误
1) - Error in Role initializer -
A JavaScript error occurred on "http://localhost:3000/".
Repeat test actions in the browser and check the console for errors.
If you see this error, it means that the tested website caused it. You can fix it or disable tracking JavaScript errors in TestCafe. To do the latter, enable the "--skip-js-errors" option.
If this error does not occur, please write a new issue at:
"https://github.com/DevExpress/testcafe/issues/new?template=bug-report.md".
JavaScript error details:
ResizeObserver loop …Run Code Online (Sandbox Code Playgroud) TestCafe克服了哪些问题证明它适用于Selenium?是否值得将旧的测试套装移植到TestCafe?
automated-tests web-testing selenium-webdriver e2e-testing testcafe
我想做DevExpress控件的自动测试.
我发现了一些像guia,NUnitForm等框架,但它们都是标准的WPF控件.
有没有其他框架可以帮助我测试DevExpress控件?
目前,我正在使用testcafejs为React项目进行自动化UI测试.
我想在Jenkins这样的持续集成环境中运行这些测试.我已经添加了browserStack插件,可以在本地运行不同的浏览器和操作系统.
但是,我想将它们集成到Jenkins中,但并不总是使用browserStack配额进行日常检查.有关如何在Jenkins的不同浏览器中运行它们的任何建议吗?
更新:
关于另一个(锤头)错误,我们被迫在testcafe测试中使用缩小代码.由于此错误已得到解决,我们现在可以针对非缩小代码运行测试.
但是,我们仍然存在testcafe删除源地图的问题.当我们正常运行webpack dev服务器时,我们会看到所有源映射,并且能够设置断点并调试应用程序代码.
然而,在测试期间,源地图不再可用.您可以看到显示2个案例的附加屏幕截图.
我们在这里做错了吗?
我们在项目中使用Testcafe + Webpack + Vue.js.我知道可以通过t.debug()指令或node.js的--inspect标志来调试测试代码.
但是,我只能看到混淆且不能真正调试的生产代码(build.js).我想知道是否有可能有一个配置,以便testcafe不使用捆绑代码,而是使用原始源代码(可能使用源映射?).我source-map在webpack中用作devtool选项.
我知道UI测试应该测试生产代码,但在开发时有这样的配置会很好.有任何想法吗?
我了解TestCafe试图替换基于Webdriver的测试框架(如Selenium)。我还找不到与BDD(黄瓜)集成的示例。
为了开始我的项目,我跑了vue init webpack my-project,但我排除了E2E测试.现在,我改变了主意,也希望包括端到端测试.如何将它们添加到我的项目中?
读者注意:Tarun Lalwani的回答对我很有帮助.但是,您可能需要考虑使用TestCafe,因为它可以在没有任何配置的情况下工作.
我尝试使用该命令创建一个虚拟项目,vue init webpack my--project以便我可以复制粘贴test/e2e目录,然后尝试从那里工作,但它没有工作.我也复制粘贴了npm脚本,尝试运行npm run e2e然后根据我收到的错误消息更新了我的代码.
我已经达到了一个TypeError: webpack.optimize.ModuleConcatenationPlugin is not a constructor错误的地步.const webpack = require('webpack'),我已经跑去npm update确保webpack节点模块是最新的,所以我不知道为什么我会收到这个错误.
无论如何,这种尝试运行npm run e2e然后根据错误消息更新我的代码的方法似乎不太可能成功.
的package.json
{
"name": "premium-poker-tools",
"version": "1.0.0",
"description": "A Vue.js project",
"author": "Adam Zerner <azerner3@gmail.com>",
"private": true,
"scripts": {
"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node build/build.js",
"test": "BABEL_ENV=test karma start …Run Code Online (Sandbox Code Playgroud) 在使用TestCafe编写测试时,我正在创建实用程序函数,但在任何函数中使用Selector('')方法时似乎存在问题.
Selector('')方法在测试文件中以及从另一个文件(utility_selectors.js)导入时都可以正常工作.我想我需要在函数中包含一些东西,但我卡住了,似乎无法找到解决方案.
我的目标是创建一个选择鼠标点击坐标的功能.
Utility_selectors.js
import { Selector } from 'testcafe';
export const viewport = Selector('.viewport').find('canvas');
Run Code Online (Sandbox Code Playgroud)
Utility_functions.js
import * as s from './selectors.js';
export const selectPoint = (x,y) => {
return s.viewport + ",{ offsetX :" + x + ", offsetY :" + y + "}"
}
Run Code Online (Sandbox Code Playgroud)
或(两者都不起作用)
export function selectPoint(x,y){
return s.viewport + ",{ offsetX :" + x + ", offsetY :" + y + "}"
}
Run Code Online (Sandbox Code Playgroud)
Testfile.js(实用功能在起作用)
import { selectPoint } from …Run Code Online (Sandbox Code Playgroud) testcafe ×10
testing ×5
javascript ×4
reactjs ×2
vue.js ×2
webpack ×2
alpine-linux ×1
bdd ×1
cucumber ×1
devexpress ×1
docker ×1
e2e-testing ×1
ecmascript-6 ×1
gui-testing ×1
jenkins ×1
node.js ×1
ui-testing ×1
vue-cli ×1
vuejs2 ×1
web-testing ×1