我們正在使用Appium Testing工具進行離子化的android應用程序的自動化測試,但無法識別與DOM元素關聯的ID和類名稱。請參閱以下屏幕截圖 Appium測試工具無法識別離子應用程序中的元素ID
但是,當我們從chrome進行調試時:檢查我們能夠看到所有的ID和類。
快速的幫助深表感謝。謝謝你們。
我們正在使用Appium Testing工具進行離子化的android應用程序的自動化測試,但無法識別與DOM元素關聯的ID和類名稱。請參閱以下屏幕截圖 Appium測試工具無法識別離子應用程序中的元素ID
但是,當我們從chrome進行調試時:檢查我們能夠看到所有的ID和類。
快速的幫助深表感謝。謝謝你們。
Appium Desktop應用程序爲應用程序的本地UI元素顯示一個對象模型:這包括任何Webviews中的本地UI組件,例如在科爾多瓦(Ionic)應用程序中。這是一個僞對象模型,旨在說明原生UI元素的層次結構和屬性。
但是,當您將Chrome Devtools會話連接到應用程序的Web視圖時,會顯示HTML Object Model (DOM),這不是一回事。這特別爲HTML元素建模,因此具有HTML特定的概念,如ID和CSS類,這些類可轉換爲Appium所示的本地對象模型。
如果您想使用Appium對基於Cordova的應用程序進行自動測試,那麼您應該使用wd和wd-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');
});
});
有沒有在這裏需要遵循的具體步驟,因爲ID和類是對空我的應用測試。 –
我已經更新了我的答案,詳細介紹瞭如何爲基於Cordova的應用程序實現自動化測試。 – DaveAlden