在测试 nightwatch selenium 之间保留 cookie
Keep cookies between tests nightwatch selenium
我需要在测试中保留一些 cookie,我正在使用 Nightwatch 和 Selenium,我不知道如何为当前会话获取它们或将它们存储在哪里。
我尝试创建并设置一个帐户,但似乎也不起作用
"selenium" : {
"start_process" : false,
"server_path" : "",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "",
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : "webdriver"
}
},
感谢任何帮助。谢谢
从 v0.9.14 开始,setCookie 不会在测试之间保留 cookie。看起来客户端是为每个测试重新创建的。
我所做的是创建一个 自定义命令 来设置和缓存 cookie 值。这适用于维护*测试之间的身份验证状态,因为自定义命令是单例。实际的身份验证只发生一次,然后后续调用使用 setCookie 和缓存的会话值。
请记住,在客户端导航到相关域之前,setCookie 不会工作。
我们如何在 Nightwatch 中设置 cookie。我在 Supertest 中尝试过它的作品。
守夜人怎么做。
下面是使用 superTest 的代码
var args = {
data: {
email: "xxxx",
password: "xxxx"
},
headers: {
"Content-Type": "application/json"
}
};
service.post("localhost", args, function(data, response) {
global.Cookies = response.headers['set-cookie'].pop().split(';')[0]
this.meServiceUrl = superTest.agent("localhost/users").get('');
// Set cookie to get saved user session
this.meServiceUrl.cookies = Cookies;
this.meServiceUrl.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200)
.end(function(err, res) {
usersApiResponse = res.body
usersServiceResponse.push(usersApiResponse)
console.log(usersServiceResponse)
console.log(usersApiResponse.result.length)
});
});
我需要在测试中保留一些 cookie,我正在使用 Nightwatch 和 Selenium,我不知道如何为当前会话获取它们或将它们存储在哪里。
我尝试创建并设置一个帐户,但似乎也不起作用
"selenium" : {
"start_process" : false,
"server_path" : "",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "",
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : "webdriver"
}
},
感谢任何帮助。谢谢
从 v0.9.14 开始,setCookie 不会在测试之间保留 cookie。看起来客户端是为每个测试重新创建的。
我所做的是创建一个 自定义命令 来设置和缓存 cookie 值。这适用于维护*测试之间的身份验证状态,因为自定义命令是单例。实际的身份验证只发生一次,然后后续调用使用 setCookie 和缓存的会话值。
请记住,在客户端导航到相关域之前,setCookie 不会工作。
我们如何在 Nightwatch 中设置 cookie。我在 Supertest 中尝试过它的作品。 守夜人怎么做。
下面是使用 superTest 的代码
var args = {
data: {
email: "xxxx",
password: "xxxx"
},
headers: {
"Content-Type": "application/json"
}
};
service.post("localhost", args, function(data, response) {
global.Cookies = response.headers['set-cookie'].pop().split(';')[0]
this.meServiceUrl = superTest.agent("localhost/users").get('');
// Set cookie to get saved user session
this.meServiceUrl.cookies = Cookies;
this.meServiceUrl.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200)
.end(function(err, res) {
usersApiResponse = res.body
usersServiceResponse.push(usersApiResponse)
console.log(usersServiceResponse)
console.log(usersApiResponse.result.length)
});
});