gpt4 book ai didi

angularjs - 是否可以使用 Protractor 来测试未绑定(bind)到 DOM 的变量的值?

转载 作者:行者123 更新时间:2023-11-28 20:04:01 24 4
gpt4 key购买 nike

我是 Angular 的新手,(今天)是 Protractor 的新手,所以我不确定如何提出这个问题 - 因此我不太确定那里是否有重复问题。下面是我们正在开发的一个更大、更复杂的应用程序的简化版本,但基本思想是相同的。

假设我有一个简单的网页:

<input id="my-input" ng-model="myValue">
<button id="submit-button" ng-click="doSomething()">
Click Me
</button>

由简化的 Angular 应用程序控制:

// some-angular-app.js

$scope.myValue = "";
$scope.computedValue = null;

$scope.doSomething = function() {
$scope.computedValue = "Hello World";
}

本质上,当您点击按钮时,它会触发一个函数来操作您应用中的变量。在我们的例子中(如上所述),变量(即 $scope.computedValue)没有以任何方式绑定(bind)到 DOM - 它们实际上被编译并传递给 JSON 请求以供我们的 API 使用.但是,我想测试这些值——类似于:

// some-protractor-test.js

describe('form submission', function() {
it('should corretly set the computed value', function() {
browser.get('http://our.awesome-web.page');
element(by.css("#my-input")).sendKeys("Hello Input");
element(by.css("#submit-button")).click();

// ??? how to check that computedValue === "Hello World" ???
});
});

是否可以使用 Protractor 以这种方式检查我们的数据状态,或者是否必须通过 DOM 元素处理与 Angular 应用程序的所有交互?

最佳答案

我认为这是您需要在服务、指令或 Controller 的单元测试中检查的内容。将您的 protractor 端到端测试想象成一个真实用户,他在浏览器中打开您的应用程序,点击一些按钮并观察一些数据 - 黑盒方法,不深入研究技术细节,所有这些都是通过 Protractor -浏览器交互完成的。 protractor 旨在自动执行伪造真实用户的浏览器操作 - 保持在更高级别。

关于angularjs - 是否可以使用 Protractor 来测试未绑定(bind)到 DOM 的变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com