在量角器中获取currentUrl后,如何更改Url第一部分?

时间:2016-03-18 21:54:11

标签: angularjs protractor

我有一个功能,它从数据库中读取电子邮件并将其存储在桌面上。

该电子邮件用于密码重置电子邮件。即使在测试中,网址总是指向Prod。我需要将字符串的第一部分替换为-test。我怎样才能做到这一点?

     browser.getCurrentUrl().then(function(CurrentUrl) {
   var modifyUrl = CurrentUrl;// Getting current url 

   console.log(modifyUrl);//This one has the current Url

//The modifyUrl looks like this  https://login.domain.com/reset/####..
//I want to replace just login to login-test
// I tried the following but I am getting Window is undefined message.

var URL = window(modifyUrl).location.toString();
window.location = URL.replace(/login/, 'login-test')

 });

感谢帮助

1 个答案:

答案 0 :(得分:1)

您没有直接访问测试中的window对象(如果需要,您可以通过browser.executeScript()访问它。)

使用browser.get()

,而不是修改window.location
var url = CurrentUrl.replace(/login\.domain\.com/, 'login-test.domain.com');
browser.get(url);

我还改进了您的替换逻辑,以避免在URL的其他部分替换login