[Ovirt-devel] [PATCH] Fixes to broken tests (1/2)

Alan Pevec apevec at redhat.com
Sun Aug 31 21:21:07 UTC 2008


> @@ -114,12 +114,14 @@ if File.exists? File.dirname(__FILE__) + '/../selenium.rb'
>               "selenium.isElementPresent(\"//div[@id='vm_action_results']/div[3]/div/div[2]/a\")",
>                10000)
>          @browser.click "//div[@id='vm_action_results']/div[3]/div/div[2]/a"
> +        sleep 5 # give vm time to start

Why is sleep needed here at all if wait_for_condition below is expecting 'running' to show up?
In general, using sleep for synchronization is wrong, although it might seem to work.

>          @browser.click "//div[@id='side']/ul/li/ul/li[1]/span/a"
>          @browser.wait_for_condition(
> -             "selenium.isElementPresent(\"//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div\")",
> +             "selenium.isElementPresent(\"//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div\") && " +
> +             "selenium.getText(\"//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div\") == \"running\"",
>                20000)
> -        assert_equal("running",
> -          @browser.get_text("//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div"))
> +        #assert_equal("running",
> +          #@browser.get_text("//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div"))

What happens if wait_for_condition times out? Will selenium raise an exception, failing the test or it just continues? If latter, you need to keep the assert.
In general, if removing lines, just delete them instead of commenting, we have git to keep the history.
  
>          # stop / destroy vm
>          @browser.click "//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[1]/div/input"
> @@ -128,12 +130,14 @@ if File.exists? File.dirname(__FILE__) + '/../selenium.rb'
>               "selenium.isElementPresent(\"//div[@id='vm_action_results']/div[3]/div/div[2]/a\")",
>                10000)
>          @browser.click "//div[@id='vm_action_results']/div[3]/div/div[2]/a"
> +        sleep 5 # give vm time to stop

same questions as above

>          @browser.click "//div[@id='side']/ul/li/ul/li[1]/span/a"
>          @browser.wait_for_condition(
> -             "selenium.isElementPresent(\"//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div\")",
> +             "selenium.isElementPresent(\"//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div\") && " +
> +             "selenium.getText(\"//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div\") == \"stopped\"",
>                20000)
> -        assert_equal("stopped",
> -          @browser.get_text("//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div"))
> +        #assert_equal("stopped",
> +          #@browser.get_text("//table[@id='vms_grid']/tbody/tr[" + (num_vms.to_i + 1).to_s + "]/td[7]/div"))




More information about the ovirt-devel mailing list