Atata - 如何在页面 class 中定义警报?
Atata - How to define alert in page class?
我想测试以下应用程序:https://romashov.tech/chat
这是我主页的代码:
using Atata;
using _ = Chat.Tests.Model.MainPage;
namespace Chat.Tests.Model
{
[Url("")]
public class MainPage : Page<_>
{
[FindById("send")]
public Button<_> Send { get; private set; }
}
}
当我 运行 我的测试出现以下异常:
OpenQA.Selenium.UnhandledAlertException : unexpected alert open: {Alert text : Your name:} (Session info: chrome=75.0.3770.100)
如何在页面 class 中定义它?
如何在此提醒中添加昵称?
您可以向您的页面对象添加一个方法(名称为 EnterAs
或其他),该方法将使用 WebDriver API:
处理提示警报
using Atata;
using OpenQA.Selenium;
namespace Chat.UITests
{
using _ = MainPage;
public class MainPage : Page<_>
{
[FindFirst]
public TextInput<_> Message { get; private set; }
[FindByClass("send-button")]
public Button<_> Send { get; private set; }
public _ EnterAs(string name)
{
IAlert alert = Driver.SwitchTo().Alert();
alert.SendKeys(name);
alert.Accept();
Driver.SwitchTo().DefaultContent();
return Owner;
}
}
}
然后在测试中这样使用:
Go.To<MainPage>().
EnterAs("SomeUser").
Message.Set("test message").
Send.Click();
我想测试以下应用程序:https://romashov.tech/chat
这是我主页的代码:
using Atata;
using _ = Chat.Tests.Model.MainPage;
namespace Chat.Tests.Model
{
[Url("")]
public class MainPage : Page<_>
{
[FindById("send")]
public Button<_> Send { get; private set; }
}
}
当我 运行 我的测试出现以下异常:
OpenQA.Selenium.UnhandledAlertException : unexpected alert open: {Alert text : Your name:} (Session info: chrome=75.0.3770.100)
如何在页面 class 中定义它? 如何在此提醒中添加昵称?
您可以向您的页面对象添加一个方法(名称为 EnterAs
或其他),该方法将使用 WebDriver API:
using Atata;
using OpenQA.Selenium;
namespace Chat.UITests
{
using _ = MainPage;
public class MainPage : Page<_>
{
[FindFirst]
public TextInput<_> Message { get; private set; }
[FindByClass("send-button")]
public Button<_> Send { get; private set; }
public _ EnterAs(string name)
{
IAlert alert = Driver.SwitchTo().Alert();
alert.SendKeys(name);
alert.Accept();
Driver.SwitchTo().DefaultContent();
return Owner;
}
}
}
然后在测试中这样使用:
Go.To<MainPage>().
EnterAs("SomeUser").
Message.Set("test message").
Send.Click();