51Testing软件测试论坛

标题: 请问selenium webdriver中2个case执行间怎么能不关闭浏览器 [打印本页]

作者: iter777    时间: 2015-2-2 17:45
标题: 请问selenium webdriver中2个case执行间怎么能不关闭浏览器
第一个是login的case,第2个我想接着登陆后进入一个模块,但在用junit执行的顺序是case1:打开浏览器访问登陆页-输入用户名密码进入首页-关闭浏览器;case2:打开浏览器访问要进入模块的url-到这步就出问题了,直接访问模块地址是有问题的,必须经过登陆操作才行。请问怎么在第一部登陆后不关闭浏览器,直接执行第2条case?还说执行第2条case必须再重新登陆一遍?
作者: log_1    时间: 2015-2-3 09:11
你可以将登录部分写在setUp方法中,加上修饰符Beforclass,那么不管类中多少用例,只会执行一次setUp。
作者: joykao    时间: 2015-2-5 10:15
你quit的方法只在所有测试执行完后再执行就可以啦
作者: littleDiuDiu    时间: 2015-12-18 19:30
joykao 发表于 2015-2-5 10:15
你quit的方法只在所有测试执行完后再执行就可以啦

如何能做到运行时:feature中scenario间不关闭webdriver,而feature之间关闭webdriver呢?
我的code如下:
        [BeforeScenario]
        public void InitScenario()
        {
            _isScenarioAlone = StartBrowser();
        }


        [AfterScenario]
        public void EndScenario()
        {
            QuitBrowser();
            if (_isScenarioAlone)
            {
                QuitBrowser();
            }
        }

        [AfterTestRun]
        public static void AfterTestRun()
        {
            QuitBrowser();
            if (!_isScenarioAlone)
            {
                QuitBrowser();
            }
        }
作者: 涵灵    时间: 2016-1-18 16:37
webDriver 共用一个实例。就是说只初始化一个driver,作为参数带入case中
例如:
程序入口:初始化driver
case1:登录(driver)
case2:其他功能(driver)

作者: clarkar    时间: 2016-1-18 16:41
不用作为参数,public static WebDriver driver = null;就行;
初始化一个driver的问题是想多线程并行运行就不行了吧
作者: 涵灵    时间: 2016-1-18 17:01
clarkar 发表于 2016-1-18 16:41
不用作为参数,public static WebDriver driver = null;就行;
初始化一个driver的问题是想多线程并行运行 ...

多线程我没试过。
如果用static,两个用例如果写在两个java类中,如何调用static driver?
用继承吗?
作者: clarkar    时间: 2016-1-26 14:26
涵灵 发表于 2016-1-18 17:01
多线程我没试过。
如果用static,两个用例如果写在两个java类中,如何调用static driver?
用继承吗?

好久没看。。。是,我是用的继承




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2