使用 Nightmare 检查当前页面 URL

check current page URL with Nightmare

我正在使用 Nightmare.js 和打字稿编写自动化测试。此测试的第一个 objective 是为了测试我是否到达了正确的页面。

我做了一些研究,但没有找到对我有用的东西。

这是我的代码:

 import * as Nightmare from "nightmare";

 describe("Login Page", function() {   this.timeout("30s");

   let nightmare = null;   beforeEach(() => {


 nightmare = new Nightmare({ show: true });   });

   describe("give correct details", () => {
     it("should log-in, check for current page url", done => {
       nightmare
         .goto(www.example.com/log-in)
         .wait(5000)
         .type("input[type='email']", "username")
         .type("input[type='password']", "password")
         .click(".submit")
         .wait(3000)
         SOMETHING THAT SHOULD CHECK URL HERE
         .end()
         .then(result => {
           done();
         })
         .catch(done);
     });   
}); 
});

上面写着 "SOMETHING THAT SHOULD CHECK URL HERE" 我想把当前的 url 放到一个变量中供以后参考,然后再 console.log 。感谢所有答案

有很多方法可以做到。我将为此使用最简单的解决方案。

let SOMEGLOBALVAR; // so we can access it later
// Codes in between ...
.click(".submit")
.wait(3000)
.url() // <-- use the built in url
.end()
.then(url => {
  SOMEGLOBALVAR = url; // set it to a global variable if you want
  done();
})

您可以随意更改它。

注意:全局变量被认为是不好的做法。上面的片段只是为了说明 .url 函数。