编程语言
首页 > 编程语言> > c#-Atata框架上的Link和DelegateLink有什么区别?

c#-Atata框架上的Link和DelegateLink有什么区别?

作者:互联网

我无法从文档中找出Link和LinkDelegate组件之间的区别.

https://atata-framework.github.io/components/#link

有人可以解释您将使用哪种方案吗?

解决方法:

主要区别在于用法语法.

using _ = SamplePage;

public class SamplePage : Page<SamplePage>
{
    public Link<_> Save1 { get; private set; }

    public LinkDelegate<_> Save2 { get; private set; }

    public Link<SamplePage2, _> Navigate1 { get; private set; }

    public LinkDelegate<SamplePage2, _> Navigate2 { get; private set; }
}

对于内部链接,无导航:

Go.To<SamplePage>().
    // To click:
    Save1.Click().
    Save2(). // As it delegate, use it like a method. Provides shorter syntax.
    // To verify:
    Save1.Should.Exist().
    Save2.Should().Exist(); // Should() is extension method.

对于导航链接:

Go.To<SamplePage>().
    Navigate1.ClickAndGo();

Go.To<SamplePage>().
    Navigate2(); // Shorter syntax.

同样适用于Button和ButtonDelegate.

因此,如果您经常需要调用链接/按钮,并且不验证其状态,则可以使用委托选项来保留短调用语法.

标签:selenium,ui-automation,c,atata
来源: https://codeday.me/bug/20191111/2018791.html