首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Atata -如何在页面类中定义警报?

Atata -如何在页面类中定义警报?
EN

Stack Overflow用户
提问于 2019-06-26 18:33:11
回答 1查看 130关注 0票数 1

我想测试以下应用程序:https://romashov.tech/chat

这是我的MainPage的代码:

代码语言:javascript
复制
using Atata;
using _ = Chat.Tests.Model.MainPage;

namespace Chat.Tests.Model
{
    [Url("")]
    public class MainPage : Page<_>
    {
        [FindById("send")]
        public Button<_> Send { get; private set; }
    }
}

当我运行我的测试时,我有以下异常:

代码语言:javascript
复制
OpenQA.Selenium.UnhandledAlertException : unexpected alert open: {Alert text : Your name:} (Session info: chrome=75.0.3770.100)

我如何在页面类中定义它?如何在此警报中添加昵称?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-27 01:02:37

您可以向您的页面对象添加一个方法(名称为EnterAs或其他名称),该方法将使用WebDriver API处理提示警报:

代码语言:javascript
复制
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;
        }
    }
}

然后在测试中这样使用它:

代码语言:javascript
复制
Go.To<MainPage>().
    EnterAs("SomeUser").
    Message.Set("test message").
    Send.Click();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56770741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档