Метод verifyTrue (логический) не определен для типа - PullRequest
0 голосов
/ 20 сентября 2011

Парни,

Новичок здесь, поэтому, пожалуйста, будьте нежны!

У меня есть класс, в котором я впервые пытаюсь определить, «если» текст «Фиктивная Тестовая компания» существует в любом месте на странице, тоЯ хочу щелкнуть и удалить эту компанию «Остальное». Я хочу добавить новую тестовую компанию.

У меня проблема с следующей строкой:

            if(verifyTrue(selenium.isTextPresent("Fictitious Test Company"))){;

Компилятор продолжает жаловаться, что 'Метод verifyTrue (логический) не определен для типа Delete_old_Or_Add_New_Company '* /

Не могли бы вы сообщить, где я ошибаюсь?Пожалуйста, укажите, что мне нужно сделать, чтобы исправить проблему.

Вот весь код из моего класса: - Я использую xml для запуска своего testsuite в Eclipse

package Realtime;
import com.thoughtworks.selenium.*;
import org.testng.annotations.*;
import static org.testng.Assert.*;

public class Delete_old_Or_Add_New_Company {

        private Selenium selenium;
        public static SeleneseTestBase SV = new
                        SeleneseTestBase();

        @BeforeClass

        @Parameters ({"url","browser","speed"})
        public void startSelenium(String Site_URL, String Browser, String
Speed) {
        selenium = new DefaultSelenium("localhost", 4444, Browser, Site_URL);
        selenium.start();
        selenium.setSpeed(Speed);
        }
        @AfterClass(alwaysRun=true)
                public void stopSelenium() {
                this.selenium.stop();
                }

        @Test
        public void DeletOldOrAddNewCompany() throws Exception {
                Login_Logout NewObject=new Login_Logout();

selenium.getEval("selenium.browserbot.setShouldHighlightElement(true)");

                NewObject.Login(selenium);
                selenium.waitForPageToLoad("5000");

                selenium.click("//table[@id='maincontent']/tbody/tr/td[3]/table[2]/
 tbody/tr[3]/td[5]/strong");
                selenium.waitForPageToLoad("5000");
                selenium.click("link=Companies");
                selenium.waitForPageToLoad("5000");
                selenium.click("//input[@value='Search for Companies']");
                selenium.waitForPageToLoad("5000");
                selenium.type("//input[@name=\"companyname\"]", "Fictitious Test
Company");
                selenium.click("//input[@name=\"submitbutton\"]");

                if(verifyTrue(selenium.isTextPresent("Fictitious Test Company"))){; /
* It is at this line the compiler complains that the  'The method
verifyTrue(boolean) is undefined for the type
Delete_old_Or_Add_New_Company' */
                selenium.waitForPageToLoad("5000");
                selenium.click("css=td.tablelastrownew");
                selenium.waitForPageToLoad("5000");
                selenium.click("//input[@value='Delete Company']");
                assertTrue(selenium.getConfirmation().matches("^Note: This action
will delete all the companies accounts, branches, users and their
accounts\n\nAre you sure you wish to delete this company[\\s\\S]$"));

                }

                else {

                        selenium.click("//input[@value='Companies Admin Home']");
                        selenium.waitForPageToLoad("5000");
                        selenium.click("//input[@value='New Company']");
                        selenium.waitForPageToLoad("5000");
                        selenium.type("name=companyname", "Fictitious Test Company");
                        selenium.type("name=postcode", "SW17 8DY");
                        selenium.type("name=expirepasswordsindays", "1000");
                        selenium.click("css=input[name=\"submitbutton\"]");
                        selenium.waitForPageToLoad("5000");
                        SV.verifyTrue(selenium.isTextPresent("Fictitious Test Company"));

                }

                NewObject.Logout(selenium);

        } 

Ответы [ 3 ]

3 голосов
/ 20 сентября 2011

Компилятор правильный. Метод verifyTrue действительно не существует в вашем классе. Ваш класс должен расширяться SeleneseTestCase, где этот метод определен.

1 голос
/ 20 сентября 2011

Java говорит вам, что verifyTrue стоит сам по себе, оно не возвращает значение, поэтому ему не требуется оператор if, обернутый вокруг него.

Если аргумент равен false, тест просто не пройден, и тест сразу же остановится.

Я думаю, что в этом случае вы хотите исключить часть «verifyTrue» и просто передать содержимое внутри него в if.

0 голосов
/ 21 сентября 2011

Вы уже создали экземпляр SeleneseTestBase "SV".

Вам следует позвонить "SV.verifyTrue". или расширить SeleneseTestBase.

* Вы уже использовали этот способ. (Else указывает на последнюю строку.)

SV.verifyTrue(selenium.isTextPresent("Fictitious Test Company")); 

* в Selenium 2.0, SeleneseTestCase является устаревшим классом. http://selenium.googlecode.com/svn/trunk/docs/api/java/com/thoughtworks/selenium/package-summary.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...