Atata 框架上 Link 和 DelegateLink 有什么区别?
Which is the difference between Link and DelegateLink on Atata framework?
我无法从文档中找出 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
。
因此,如果您经常需要调用一个 link/button,并且不验证它的状态,您可以使用委托选项,以保持简短的调用语法。
我无法从文档中找出 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
。
因此,如果您经常需要调用一个 link/button,并且不验证它的状态,您可以使用委托选项,以保持简短的调用语法。