[Selenium RC-java-1.0.1] How to make TestCase Stop when Assertion Fails

閲覧: 42 回
最初の未読メッセージにスキップ

pebranch

未読、
2011/03/30 17:07:412011/03/30
To: Selenium Users

I am trying to get my testcase to STOP when an assertion FAILS.
I must be missing something(and it's starting to frustrate me!!!).
I am using selenium-remote-control-1.0.3(java)

This is the test i wrote to intentionally make the script fail.
-----------------
|assertEval|javascript{var tmp = "FAIL";tmp}|FFFF|
|storeEval|javascript{window.currentInvoiceId;}|tmp|
|check|getEval|javascript{var tmp = storedVars['tmp'];tmp;}|xxx|
-----------------

I see the following AssertionError posted:
java.lang.AssertionError: Expected "FAIL" but saw "FFFF" instead
at
com.thoughtworks.selenium.SeleneseTestBase.fail(SeleneseTestBase.java:
360)
at
com.thoughtworks.selenium.SeleneseTestBase.assertTrue(SeleneseTestBase.java:
365)
at
com.thoughtworks.selenium.SeleneseTestBase.assertEquals(SeleneseTestBase.java:
193)
at
com.thoughtworks.selenium.SeleneseTestCase.assertEquals(SeleneseTestCase.java:
129)
at
com.neuri.webfixture.PlainSeleniumTest.assertEval(PlainSeleniumTest.java:
1024)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at fitlibrary.closure.MethodClosure.invoke(MethodClosure.java:35)
at fitlibrary.closure.MethodClosure.invokeTyped(MethodClosure.java:
28)
at
fitlibrary.closure.CalledMethodTarget.invokeTyped(CalledMethodTarget.java:
77)
at
fitlibrary.closure.CalledMethodTarget.invokeTyped(CalledMethodTarget.java:
95)
at
fitlibrary.closure.CalledMethodTarget.invokeAndWrap(CalledMethodTarget.java:
358)
at
fitlibrary.traverse.workflow.caller.ActionCaller.run(ActionCaller.java:
37)
at
fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretRow(DoTraverseInterpreter.java:
176)
at
fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:
96)
at
fitlibrary.traverse.workflow.DoTraverseInterpreter.interpretWholeTable(DoTraverseInterpreter.java:
89)
at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:73)
at fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:27)
at fitlibrary.DoFixture.interpretTables(DoFixture.java:42)
at fit.Fixture.doTables(Fixture.java:79)
at fit.FitServer.process(FitServer.java:81)
at fit.FitServer.run(FitServer.java:56)
at fit.FitServer.main(FitServer.java:41

I expect the test to stop at this point but it goes on to the next
line in the testcase:

|storeEval|javascript{window.currentInvoiceId;}|tmp|
|check|getEval|javascript{var tmp = storedVars['tmp'];tmp;}|xxx|

Am i missing something here?
Please help me figure this out. I don't want to waste time continuing
on with the test when it fails!!

IntermeZZo

未読、
2011/04/01 3:54:162011/04/01
To: Selenium Users
Hi,

1) when you use assertEquals if comprating Strings or whatever not
equals the test will stop immediately.
2) when you use assertTrue tests will continue.

if you want to use assertTrue you must do something like this:

if (assertTrue(COMPARING VALUE)){ test_passed;}
else{test_failed; tearDown();}

Regards,
全員に返信
投稿者に返信
転送
新着メール 0 件