为了账号安全,请及时绑定邮箱和手机立即绑定

Xamarin UI 测试给出错误:查询标记(“Click Me!”)给出 0 个结果

Xamarin UI 测试给出错误:查询标记(“Click Me!”)给出 0 个结果

C#
隔江千里 2023-09-16 16:00:24
我正在为示例 Xamarin 应用程序实现页面对象模式框架,当我尝试运行一个简单的测试来验证按钮单击时,出现以下错误: Query for Marked("Click Me!") 给出 0 结果。我曾尝试在不设置框架的情况下运行测试,它运行良好,但在设置框架后,它给了我错误。这是我的页面对象文件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);        }    }}这是我的代码,我在其中调用 Page 对象的对象并运行测试。
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

经过进一步的调试和研究,我发现应该 ClickButton = x => x.Marked("Click Me!");通过 ID 而不是按钮上的文本来识别,因为按钮上的文本在单击时会发生变化。将标识符更改为以下内容并测试通过:

ClickButton = x => x.Id("NoResourceEntry-3");



查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 47 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信