Selenium Test Runner和变量问题

时间:2010-05-21 19:52:11

标签: testing selenium automated-tests integration-testing

在我的selenium测试套件(html)中,我定义了第一个测试用例来初始化在下一个测试用例中调用的变量。

示例:

在第一个脚本中:

store|//div[@id="myfield"]|myvar

在我的第二个剧本中:

type|${myvar}|myvalue

但是当我启动测试运行器(来自maven)时,它会返回一个错误,告知找不到$ {myvar} 不使用存储的var中包含的值。

有什么建议吗?

Thans很多

4 个答案:

答案 0 :(得分:1)

据我所知,在运行HTML套件时,您无法引用在不同测试中声明的变量。

您需要的是测试和/或套件“设置”和“拆解”功能。

在每次测试之前和之后进行测试设置和拆卸。套件设置和拆卸仅在套件运行之前和之后发生一次。

当您使用Maven时,我假设您的开发是使用Java,因此您可以使用JUnit

http://www.junit.org/

这包括测试和套件设置以及拆卸:
测试设置
http://kentbeck.github.com/junit/javadoc/latest/org/junit/Before.html
测试拆解
http://kentbeck.github.com/junit/javadoc/latest/org/junit/After.html

套件设置
http://kentbeck.github.com/junit/javadoc/latest/org/junit/BeforeClass.html
套房拆解
http://kentbeck.github.com/junit/javadoc/latest/org/junit/AfterClass.html

答案 1 :(得分:1)

也许你可以用cookies来存储变量?

createCookie在selenium中读取它你可能会使用javascrpt(getEval)

答案 2 :(得分:0)

我在Selenium IDE中创建了单独的测试,然后将它们分批测试套件

之后......当我运行它们时,测试1中存储的$ {variable_name}在测试2中工作正常。

达明

答案 3 :(得分:0)

当前版本的selenium测试运行器不会像IDE那样将变量从测试传递到测试。有一个javascript工作,请查看Nick G在http://jira.openqa.org/browse/SEL-605

上的帖子