gpt4 book ai didi

protractor - 如何使用 Protractor 获取响应状态码和响应文本?

转载 作者:行者123 更新时间:2023-12-03 23:32:04 25 4
gpt4 key购买 nike

我正在使用 protractor用于 e2e 测试。

我想访问一个网址,说:

browser.get("http://my.test.com");

并获取 http 状态代码和所有响应正文,但我找不到获取它们的方法。有什么方法可以使用吗?

最佳答案

获取 http 状态代码是不可能的,因为 it's been resolved that selenium webdriver API won't add it Protractor 依赖 Selenium 与浏览器交互。
您需要为此找到解决方法,例如使用 NodeJS,因为 Protractor 在其中运行一个辅助函数,该函数可以理解 promise,因此 Protractor 在继续之前等待 http get:

// A Protracterized httpGet() promise
function httpGet(siteUrl) {
var http = require('http');
var defer = protractor.promise.defer();

http.get(siteUrl, function(response) {

var bodyString = '';

response.setEncoding('utf8');

response.on("data", function(chunk) {
bodyString += chunk;
});

response.on('end', function() {
defer.fulfill({
statusCode: response.statusCode,
bodyString: bodyString
});
});

}).on('error', function(e) {
defer.reject("Got http.get error: " + e.message);
});

return defer.promise;
}

it('should return 200 and contain proper body', function() {
httpGet("http://localhost:80").then(function(result) {
expect(result.statusCode).toBe(200);
expect(result.bodyString).toContain('Apache');
});
});
其他选项可能是根据响应状态代码更改 html 服务器端,如 this blog post
<h1 id="web_403">403 Access Denied</h1>

关于protractor - 如何使用 Protractor 获取响应状态码和响应文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25137881/

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