1
我剛剛開始使用量角器。量角器 - 字段存在但不可見 - 元素當前不可操作且不可操作
這是我的問題:
我想登錄網站。當頁面加載時,它會在顯示用戶名和密碼字段以及登錄按鈕之前顯示旋轉的加載輪。 我的問題是,clear()
或sendKeys()
的任何嘗試都會失敗,因爲這些字段在屏幕上還不可見,而量角器正試圖與它們交互。
InvalidElementStateError: invalid element state: Element is not currently interactable and may not be manipulated.
我所注意到的是在頁面的源代碼最初紡車有class='ngscope'
,一段時間後,它改變class='ng-scope ng-hide'
整個事情是這樣的:
<div ng-show="Model.Busy" class="ng-scope ng-hide">
<div ng-class="{'control--inline': small, 'div-centre': !small}" class="div-centre">
<img ng-src="/assets/img/loading.gif" ng-class="{'very-small-loading': small}" src="/assets/img/loading.gif">
</div>
</div>
的一塊我使用的代碼是:
describe('Testing', function() {
browser.driver.manage().window().maximize();
var username = element(by.model('Model.Username'));
var password = element(by.model('Model.Password'));
var loginbutton = element(by.css('[ng-click="Model.Logon()"]'));
beforeEach(function() {
browser.get('MY WEBSITE');
});
it('should log me in', function() {
// expect($('[ng-show=Model.Busy].ng-hide').isDisplayed()).toBeTruthy(); <-- this fails
username.clear();
password.clear()
username.sendKeys('1');
password.sendKeys('2');
loginbutton.click();
});
});
如何使這項工作?
嗨Girish。不幸的是,這並沒有幫助。現在發生的情況是動畫在browser.wait(10s)中給出的持續時間「掛起」,然後我得到相同的錯誤。如果我只是給你的網站地址,它會更容易:https://client.compliancecentre.co.uk請看看,你是否能夠發送密碼到用戶名和密碼,然後點擊登錄按鈕...(注意:頁面加載速度非常快,旋轉輪僅顯示幾秒鐘,但它在那裏) – Alichino
@Alichino如果是這種情況,那麼等待用戶名或密碼字段是有道理的。使用此解決方案更新答案。我根本無法看到該字段,也許可以通過某種javscript禁用網頁上的自動化功能。你能檢查一下嗎? –
@Alichino我能夠重新創建您的問題,似乎網頁在客戶端使用Kendo UI庫。更新了代碼以包含可用的代碼。如果您仍有問題,請告訴我。謝謝 –