iter777 发表于 2015-2-2 17:45:45

请问selenium webdriver中2个case执行间怎么能不关闭浏览器

第一个是login的case,第2个我想接着登陆后进入一个模块,但在用junit执行的顺序是case1:打开浏览器访问登陆页-输入用户名密码进入首页-关闭浏览器;case2:打开浏览器访问要进入模块的url-到这步就出问题了,直接访问模块地址是有问题的,必须经过登陆操作才行。请问怎么在第一部登陆后不关闭浏览器,直接执行第2条case?还说执行第2条case必须再重新登陆一遍?

log_1 发表于 2015-2-3 09:11:18

你可以将登录部分写在setUp方法中,加上修饰符Beforclass,那么不管类中多少用例,只会执行一次setUp。

joykao 发表于 2015-2-5 10:15:56

你quit的方法只在所有测试执行完后再执行就可以啦

littleDiuDiu 发表于 2015-12-18 19:30:18

joykao 发表于 2015-2-5 10:15
你quit的方法只在所有测试执行完后再执行就可以啦

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


      
      public void EndScenario()
      {
            QuitBrowser();
            if (_isScenarioAlone)
            {
                QuitBrowser();
            }
      }

      
      public static void AfterTestRun()
      {
            QuitBrowser();
            if (!_isScenarioAlone)
            {
                QuitBrowser();
            }
      }

涵灵 发表于 2016-1-18 16:37:25

webDriver 共用一个实例。就是说只初始化一个driver,作为参数带入case中
例如:
程序入口:初始化driver
case1:登录(driver)
case2:其他功能(driver)

clarkar 发表于 2016-1-18 16:41:49

不用作为参数,public static WebDriver driver = null;就行;
初始化一个driver的问题是想多线程并行运行就不行了吧

涵灵 发表于 2016-1-18 17:01:03

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

多线程我没试过。
如果用static,两个用例如果写在两个java类中,如何调用static driver?
用继承吗?

clarkar 发表于 2016-1-26 14:26:26

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

好久没看。。。是,我是用的继承
页: [1]
查看完整版本: 请问selenium webdriver中2个case执行间怎么能不关闭浏览器