- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始使用 Bryntum Siesta 和 ExtJs 进行自动化测试。我的第一个非常简单的测试工作如我所料。现在我遇到了 DRY-Code 的问题。
我正在尝试为登录测试编写 DRY 代码。
这里其实有两种情况:- 使用有效数据登录- 使用无效数据登录(错误的密码和/或用户名)
在 java 中,它可以与全局变量/函数一起使用。我想,我以前做过类似 javascript 全局变量的事情。但它不起作用。
所以我有我的试用功能:
var testFunction = function(){
console.log("I am a global function, and i am working!");
};
我的目标是在我的测试文件中的 t.chain() 中调用它:
{
type: LoginUsername,
target: ">>#loginviewIdemId #loginForm #pwTriggerForm #fldName",
desc: 'Type in Username',
},
function(next) {
testFunction();
next();
},
当我调用在链上方的此测试文件中创建的函数时,它确实有效。如果这是一些基本的 javascript 问题,我很抱歉,但我很沮丧 :D
提前致谢!
最佳答案
您可以扩展您的测试类以添加实用方法并避免 DRY 违规。这篇指南文章对此进行了总结:https://www.bryntum.com/docs/siesta/#!/guide/extending_test_class
让我们创建 2 个特殊断言,它们将检查传递的数字的奇校验。通常,断言需要检查其语句并使用 {@link Siesta.Test#pass} 或 {@link Siesta.Test#fail} 方法报告结果。
Class('MyProject.MyTestClass', {
isa : Siesta.Test.ExtJS,
methods : {
isOdd : function (number, description) {
if (number % 2) {
this.pass(description);
} else {
this.fail(description, {
assertionName : 'isOdd',
got : number,
annotation : 'Need odd number'
});
}
},
isEven : function (number, description) {
if (!(number % 2)) {
this.pass(description);
} else {
this.fail(description, {
assertionName : 'isEven',
got : number,
annotation : 'Need even number'
});
}
}
}
})
失败时,尝试提供尽可能多的失败信息,并以可读的形式格式化失败消息。请引用{@link Siesta.Test#fail}其他选项的方法文档。
要使 Harness 使用您的新测试类,您必须通过设置 {@link Siesta.Harness#testClass} 配置选项来指定要使用的测试类:
harness.configure({
title : 'Awesome Test Suite',
testClass : MyProject.MyTestClass,
preload : [
...
]
})
测试类应该在 siesta-all.js 文件之后加载:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="__path_to_siesta__/resources/css/siesta-all.css">
<script type="text/javascript" src="__path_to_siesta__/siesta-all.js"></script>
<!-- The file with new test class -->
<script type="text/javascript" src="lib/MyTestClass.js"></script>
<script type="text/javascript" src="index.js"></script>
</head>
<body>
</body>
</html>
现在您可以在所有测试中使用自定义断言或实用方法:
describe('My test', function(t) {
var nbr = 1;
t.isEven(nbr); // Will fail
})
关于javascript - Siesta 中的全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46732220/
在我的应用程序中,我有一个封装 Service 的类并具有返回资源和请求的方法。在我的测试中,我想在不进行任何实际网络调用的情况下模拟请求和资源的成功/失败。因为 Request是一个协议(proto
是否可以使用 Siesta 管道,接收成功响应,解析它,并根据返回结果,将其重定向到失败响应? 我的服务器响应多次返回 HTTP 200,但带有错误消息/标志。 最佳答案 如果“重定向”的意思是“将
我的 API 中有一个返回 PDF 文件内容的方法。 如何在成功回调中获取响应的原始数据? 最佳答案 所有 Siesta 响应均以原始数据开始(以 Foundation 类型 Data 的形式),然后
我刚开始使用 Bryntum Siesta 和 ExtJs 进行自动化测试。我的第一个非常简单的测试工作如我所料。现在我遇到了 DRY-Code 的问题。 我正在尝试为登录测试编写 DRY 代码。 这
当我在一段时间后(例如几个小时)启动我的应用程序(模拟器或手机)时,Siesta 不会加载我的资源并且 statusOverlay() 将无限期显示。 详细地说,我有一个 HomeViewContro
我正在玩 Siesta 和一些内置断言。 我遇到了 elementIsNotEmpty() 断言的问题。我想检查在登录字段中输入空字符串后,该字段是否真的是空的并且其中没有显示任何内容。 所以我的测试
我检查了很多关于运行外部程序的线程,但它们无法解决我的问题。为了运行 Siesta(DFT 计算),我必须使用类似这样的东西(Si.fdf 是输入文件):午睡 " + fileName + ".o
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我已经设置了 siesta lite 来测试我的 ExtJs 4 应用程序。我想根据我的应用程序的 window.xxx 和 window.yyy 的值运行测试。所以如果 xxx= 1 和 yyy=
我无法在 Swift 中为 Siesta 成功设置本地数据。我的目标是在本地为 URL 设置一个 UIImage,这样就可以在没有下载时间的情况下显示这个本地镜像。 为此,我将 URL 的图像数据设置
我有这个 api,其中登录通过 post 进行,而大多数其他请求使用 get。现在我正在使用 siesta 将登录 url 定义为资源。 func login(username: String, pa
有人知道如何将参数传递给无法更改的回调函数吗? 所以这是我试图实现的代码(这是一个午睡测试方法): Base.js: waitForComponentQueryVisible: function (p
在请求发生之前更改执行异步任务的请求的正确方法是什么? 因此任何请求 Rn 都需要透明地变成 Tn 然后是 Rn。 这里有一些背景知识:任务是一个第 3 方 SDK,它发送一个 token ,我需要将
我刚刚使用 cocoapods 安装了 Siesta (1.0-beta.4),但是当我尝试在 swift 文件中使用 import Siesta 导入它时,我收到此错误:No such module
在我的类(class)中,我有多个 Resource Siesta 对象,我希望在填充 TableView 并启用用户输入之前将这些对象全部加载数据。 代码如下: var trainees: Reso
我正在集成 Siesta,我喜欢它,它解决了我们在使用 RestKit 等框架时遇到的很多问题。 我无法理解的是如何使用内容转换器?我查看了文档和示例,但我不太明白它是如何工作的,我对 Swift 也
我正在使用 Siesta 构建 API 客户端和 Xcode 8 上的 Swift 3。我希望能够使用 Siesta 资源获取实体,然后更新一些数据并对 API 进行补丁。 问题是拥有一个实体,如果我
我正在使用(并且喜欢)Siesta 与我的 Swift 应用程序中的 REST Web 服务进行通信。我已经实现了一系列 ResponseTransformer 来将 API 调用响应映射到模型类,以
我正在使用 Siesta 测试 Ext JS 前端。这是我的登录/注销测试: StartTest(function(t) { t.diag("Login/Logout"); t.cha
我正在尝试使用参数为端点配置转换器。 我成功地为不包含任何参数的端点配置了转换器。但似乎当我尝试使用参数对资源执行相同操作时,它不起作用。 这是我配置变压器的方式: var getExampleDat
我是一名优秀的程序员,十分优秀!