diff --git a/lib/helper/Nightmare.js b/lib/helper/Nightmare.js index f95be1aa7..27e6cb04a 100644 --- a/lib/helper/Nightmare.js +++ b/lib/helper/Nightmare.js @@ -401,7 +401,7 @@ class Nightmare extends Helper { * ``` */ async amOnPage(url, headers = null) { - if (url.indexOf('http') !== 0) { + if (!(/^\w+\:\/\//.test(url))) { url = urlResolve(this.options.url, url); } const currentUrl = await this.browser.url(); diff --git a/lib/helper/Protractor.js b/lib/helper/Protractor.js index 3fa9749f0..cdadaa90e 100644 --- a/lib/helper/Protractor.js +++ b/lib/helper/Protractor.js @@ -427,7 +427,7 @@ class Protractor extends Helper { * {{> ../webapi/amOnPage }} */ async amOnPage(url) { - if (url.indexOf('http') !== 0) { + if (!(/^\w+\:\/\//.test(url))) { url = this.options.url + url; } const res = await this.browser.get(url); diff --git a/lib/helper/Puppeteer.js b/lib/helper/Puppeteer.js index 98451ab83..5c8c5ff95 100644 --- a/lib/helper/Puppeteer.js +++ b/lib/helper/Puppeteer.js @@ -494,7 +494,7 @@ class Puppeteer extends Helper { * {{> ../webapi/amOnPage }} */ async amOnPage(url) { - if (url.indexOf('http') !== 0) { + if (!(/^\w+\:\/\//.test(url))) { url = this.options.url + url; } await this.page.goto(url, { waitUntil: this.options.waitForNavigation }); diff --git a/test/data/sandbox/page_slider.html b/test/data/sandbox/page_slider.html new file mode 100644 index 000000000..ecd35da08 --- /dev/null +++ b/test/data/sandbox/page_slider.html @@ -0,0 +1,35 @@ + + +
+ +
+
Value:
+ + + + diff --git a/test/helper/Puppeteer_test.js b/test/helper/Puppeteer_test.js index cf9b887a7..e591f9dcb 100644 --- a/test/helper/Puppeteer_test.js +++ b/test/helper/Puppeteer_test.js @@ -550,7 +550,7 @@ describe('Puppeteer', function () { describe('#dragSlider', () => { it('should drag scrubber to given position', async () => { - await I.amOnPage('https://www.w3schools.com/howto/howto_js_rangeslider.asp'); + await I.amOnPage(`file://${path.resolve(__dirname, '../data/sandbox/page_slider.html')}`); await I.seeElementInDOM('#slidecontainer input'); const before = await I.grabValueFrom('#slidecontainer input'); await I.dragSlider('#slidecontainer input', 20);