2015-04-28 2 views
0

Я хочу, чтобы получил текущий URL-адрес с помощью транспортира, а затем убедитесь, что этот URL-адрес мне нужен. Я использую:Как использовать транспортир для проверки URL-адреса?

istheSameURL(url) { 
    return browser.getCurrentUrl() === 'http://localhost:9000/#/analysis/62/1'; 
} 

Однако, он не работает.

+1

Что не работает? Не возвращает ли browser.getCurrentUrl() ничего? – javajavajava

+0

возвращает false, хотя я назвал browser.waitForAngular(), поэтому предполагается, что в этом случае значение должно быть истинным. – lmiguelvargasf

+0

@lmiguelvargasf немного отлаживает его и видит, что в настоящий момент значение реального URL: 'ожидать (browser.getCurrentUrl()) .toEqual ('http: // localhost: 9000/#/analysis/62/1') ; '. Как это происходит сейчас? Благодарю. – alecxe

ответ

1

Да, browser.getCurrentUrl() следует использовать. Это может быть, что вам нужно wait for the URL to be changed с помощью browser.wait():

var urlChanged = function(url) { 
    return function() { 
    return browser.getCurrentUrl().then(function(actualUrl) { 
     return url != actualUrl; 
    }); 
    }; 
}; 

browser.wait(urlChanged("http://localhost:9000/#/analysis/62/1"), 5000); 
+0

Я получаю ошибку времени. Что, если я не хочу ждать, я имею в виду, если после использования waitForAngular я хочу проверить URL именно в тот момент. – lmiguelvargasf

1

browser.getCurrentUrl() не работает с IE 10, если я помню. Если вы хотите протестировать IE, вам придется написать некоторые jquery, которые это делают. Я объединил как метод browser.getCurrentUrl, так и jquery в функцию, сделал if-check в браузере, а затем поместил это в общую библиотеку функций.

+0

Это полезно знать, но как вы можете быть уверены, что OP использует IE? Благодарю. – alecxe

+0

Да, это действительно хорошо знать. Огромное спасибо. – lmiguelvargasf

+0

@alecxe - У меня нет подсказки, но вы просто * знаете, что управление будет хотеть убедиться, что оно работает на IE. –

Смежные вопросы