0

Selwnium Web ドライバーを使用しています。Selenium と nunit を使用してテスト ケースを実行すると、テスト ケースが開始されるたびに新しいページが開き、テストが完了すると mew ページが破棄されることがわかります。したがって、すべてのテストケースで新しいページを開いてログインする必要があります。

テスト ケースを 1 つの Web ページで共有して、順番に実行できるようにしたいと考えています。

セレンの制限ですか、それとも実装する方法ですか?

ありがとうございました!

4

2 に答える 2

2

Webdriverインスタンス変数をstatic内部で宣言しtest class、一度だけ初期化してください。あなたの行動は、異なる webdriver インスタンスが同じsessionを共有しないためです。そのため、常に目的のページにログインする必要があります。

于 2012-11-04T17:45:50.260 に答える
0

おそらく@Before , @After注釈を使用しています。@BeforeClass, @AfterClass 代わりに使用してみてください。例えば:

....
static WebDriver driver;
@BeforeClass
    public static void firefoxSetUp() throws MalformedURLException {


        driver = new FirefoxDriver();  

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
        driver.manage().window().setSize(new Dimension(1920, 1080));
    }
    @Before
    public void homePageRefresh() throws IOException {
        driver.manage().deleteAllCookies();
        driver.get(propertyKeysLoader("login.base.url"));
    }


    @AfterClass
    public static void closeFirefox(){
        driver.quit();
    }
.....
于 2012-11-04T15:00:37.543 に答える