首页 > 解决方案 > Nightwatch 在测试中获取 URL 部分

问题描述

在我正在写作的当前 nightwatch e2e 测试中,我需要将浏览器当前 url 的最后一部分保存到一个变量中。

我需要做的步骤如下:

  1. 加载网址:http://master.local
  2. 点击一个链接
  3. 获取当前网址(例如:http://master.local/node/123
  4. 将 URL 的最后一部分保存在 prev 中。案例“123”,到一个变量

有人可以给我一个建议,我该如何实现第 3 步和第 4 步?

标签: variablesnightwatch.js

解决方案


You can do it using javascript. Below is the code for reference.

module.exports = {

'Test 1': function (browser) {

    var url, urlTrimmed;

    browser
        .url('http://master.local')
        .click('selector')
        .execute(function () {
            urlData = {
                wholeUrl: document.URL,
                trimmedURL: document.URL.split('/')[4]
            };
            return urlData
        }, [], function (result) {
            url = result.value.wholeUrl;
            urlTrimmed = result.value.trimmedURL
        });
    browser.perform(function () {
        console.log("The url is" + url);
        console.log("The last part of the Url is" + urlTrimmed);
    });
}
};

推荐阅读