我正在為示例 Xamarin 應(yīng)用程序?qū)崿F(xiàn)頁面對象模式框架,當我嘗試運行一個簡單的測試來驗證按鈕單擊時,出現(xiàn)以下錯誤: Query for Marked("Click Me!") 給出 0 結(jié)果。我曾嘗試在不設(shè)置框架的情況下運行測試,它運行良好,但在設(shè)置框架后,它給了我錯誤。這是我的頁面對象文件namespace SampleUITests.Pages{ using Query = System.Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>; public class WelcomePage : BasePage { readonly Query ClickButton; readonly Query Label; protected override PlatformQuery Trait => new PlatformQuery { Android = x => x.Marked("Click Me!") //Can add iOS trait as well }; public WelcomePage() { if (OnAndroid) { Label = x => x.Marked("Welcome To Xamarin.Forms!"); ClickButton = x => x.Marked("Click Me!"); } if (OniOS) { //add iOS identifiers here } } public void OnClick() { app.Repl(); app.WaitForElement(ClickButton); app.Tap(ClickButton); Assert.Equals("You clicked 1 times.", app.Query(ClickButton).First().Text); } }}這是我的代碼,我在其中調(diào)用 Page 對象的對象并運行測試。
1 回答

梵蒂岡之花
TA貢獻1900條經(jīng)驗 獲得超5個贊
經(jīng)過進一步的調(diào)試和研究,我發(fā)現(xiàn)應(yīng)該 ClickButton = x => x.Marked("Click Me!");
通過 ID 而不是按鈕上的文本來識別,因為按鈕上的文本在單擊時會發(fā)生變化。將標識符更改為以下內(nèi)容并測試通過:
ClickButton = x => x.Id("NoResourceEntry-3");
- 1 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報
0/150
提交
取消