2017-06-21 57 views
1

我們正在使用Appium Testing工具進行離子化的android應用程序的自動化測試,但無法識別與DOM元素關聯的ID和類名稱。請參閱以下屏幕截圖 enter image description hereAppium測試工具無法識別離子應用程序中的元素ID

但是,當我們從chrome進行調試時:檢查我們能夠看到所有的ID和類。

enter image description here

快速的幫助深表感謝。謝謝你們。

回答

3

Appium Desktop應用程序爲應用程序的本地UI元素顯示一個對象模型:這包括任何Webviews中的本地UI組件,例如在科爾多瓦(Ionic)應用程序中。這是一個僞對象模型,旨在說明原生UI元素的層次結構和屬性。

但是,當您將Chrome Devtools會話連接到應用程序的Web視圖時,會顯示HTML Object Model (DOM),這不是一回事。這特別爲HTML元素建模,因此具有HTML特定的概念,如ID和CSS類,這些類可轉換爲Appium所示的本地對象模型。

如果您想使用Appium對基於Cordova的應用程序進行自動測試,那麼您應該使用wdwd-bridge,它提供了一種機制來允許Appium直接與Web視圖進行通信。 This blog post給出了一個很好的教程,介紹如何使用量角器/茉莉花來設置這樣的測試環境。

然後,您可以編寫量角器測試,讓你可以參考你的應用程序的UI元素作爲HTML組件,例如:

describe('Testing the app', function() { 
    it('01. should have a header', function() { 
    var header = element(by.id('header')); 
    expect(header.getAttribute('class')).toContain('toolbar'); 
    }); 
}); 
+0

有沒有在這裏需要遵循的具體步驟,因爲ID和類是對空我的應用測試。 –

+0

我已經更新了我的答案,詳細介紹瞭如何爲基於Cordova的應用程序實現自動化測試。 – DaveAlden