если всплывающее окно отображается в приложении при входе в систему, я хочу нажать ok, если оно не появляется, я хочу, чтобы тест продолжался

#xamarin #xamarin.forms #xamarin.android #xamarin.ios #xamarin.uitest

#xamarin #xamarin.forms #xamarin.android #xamarin.ios #xamarin.uitest

Вопрос:

его Xamarin и использование if else вызывают ошибки.Я пробовал ниже, но это вызвало у меня много проблем, из-за которых еще нельзя запустить строку и другие проблемы. Возможно, есть лучший способ сделать это, но все, что я пробовал, является проблемой. Будет ли это работать как для Android, так и для iOS Я погуглил это и перешел к документам xamarin, но на него нелегко ответить.

         if( app.Query(x => x.Id("button2").Invoke("exists","button2")));
        { app.Tap("button2");
        } {}
        else {
            app.WaitForElement(x => x.Id("contentPanel"), timeout: TimeSpan.FromSeconds(120));
 

Комментарии:

1. Вы имеете в виду, что приведенный выше код не работает?

2. Исправьте приведенный выше код, он не работает, но это то, что я пытался.

3. есть ли один метод exists в вашем uitest? оно общедоступное?

Ответ №1:

Вы могли бы попробовать назначить запрос Xamarin переменной вместо вызова этого метода «exisits». Попробуйте следующее:

 var okButton = app.Query(x => x.Id("button2")).SingleOrDefault();

if(okButton != null)
{
    app.Tap(x => x.Id("button2"))
}
else 
{
    app.WaitForElement(x => x.Id("contentPanel"), timeout: TimeSpan.FromSeconds(120));
}