我正在使用Xamarin UiTest来自动化我的android应用程序。当我运行测试时,初始屏幕会加载到设备中,而uitest将等待元素的定位,但是等待60秒后却失败了。我尝试使用xpath进行定位和ID,但找不到元素
我尝试使用xpath,marked和Id进行定位,但未定位该元素。该元素具有与它关联的ID-txtusername。我正在使用Honor设备运行此测试。
Actually the login screen is a webview.Please click the image for more details
[Test]
public void FirstTest()
{
app.WaitForElement(c => c.Marked("txtusername"), timeout: TimeSpan.FromSeconds(60));
app.EnterText(c => c.Id("txtusername"),"abc");
app.DismissKeyboard();
}
用于初始化应用的代码
public class AppInitializer
{
public static IApp StartApp(Platform platform)
{
if (platform == Platform.Android)
{
return ConfigureApp
.Android
//.InstalledApp("TRL.Software.IMAAPMobile")
.ApkFile(@"C:Xamarin.UITest-master\Xamarin.UITest-master\CrossPlatformTest\ik.apk")
.DeviceSerial("CYG3Y18809026095")
.PreferIdeSettings()
.StartApp();
}
return ConfigureApp
.iOS
.StartApp();
}
}
感谢您的帮助
答案 0 :(得分:0)
根据official documentation,您可以使用两种方法来访问Web视图中的信息:CSS和XPath。这是有关如何在您的情况下使用它的示例:
app.WaitForElement(c => c.WebView().Css("#txtusername"));
然后您还可以输入文本
app.ScrollDownTo(c => c.Css("input#txtusername"), "webView1", ScrollStrategy.Gesture);
app.EnterText(c => c.Css("input#txtusername"), "Chimpanzee");