3

我正在使用 Selenium dsl 并想使用 Page 对象。但是目前看来我必须在测试类中定义页面对象。我想要一个页面对象的原因是在测试之间共享共同的功能,所以这似乎有点毫无意义......有没有人使用 Selenium DSL 的页面对象模型?在同一个类中定义页面对象背后的想法是什么?如果我在测试类之外定义页面对象,怎么会出现编译器错误。难道我做错了什么?

我得到的编译器错误是:

预期 MySpec.this.type#Page,实际:MyPage

4

1 回答 1

5

您可以像这样在测试类之外定义类:

class TwitterPage {
  val url = "http://twitter.com"
}

然后,通过混合Page 特征在测试中使用它:

val page = new TwitterPage with Page
go to page
title should be ("Welcome to Twitter")

这对我来说编译并工作得很好。

于 2013-03-22T15:51:28.480 回答