测试积点老人 发表于 2022-1-21 10:02:55

python自动化中怎样使每个用例都保持登录状态?

我是使用python做的自动化,在京东商城主页做的,第一个用例是登录,第二个用例是想在登录基础上做其他操作。现在test_02没法保持登录,是不是应该把登录写在setUp中,但是那样每次执行用例都需要登录一遍,好浪费时间,刚开始学自动化,我现在脑子比较乱求解答
# -*- coding: utf-8 -*-
import os
import time
import unittest
from selenium import webdriver
from dateutil.parser import parse
from BeautifulReport import BeautifulReport

class Test(unittest.TestCase):

    # 启动函数,每个用例测试前,都会执行该函数
    def setUp(self):
      self.browser = webdriver.Chrome()
      self.browser.set_window_size(1920, 1080)
      self.starttime = parse(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
      print("开始测试时间:", self.starttime)
      self.browser.get("https://www.jd.com/")
      time.sleep(3)

    # 结束函数,每个用例测试结束后,都会执行该函数
    def tearDown(self):
      time.sleep(3)
      self.browser.quit()
      self.endtime = parse(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
      print("测试结束时间:", self.endtime)
      totaltime = (self.endtime - self.starttime).total_seconds()
      print("总时长:", totaltime, "秒")

    def test_01(self):
      u"""测试用例1"""
      self.browser.find_element_by_xpath('//*[@id="ttbar-login"]/a').click()
      time.sleep(1)

      self.browser.find_element_by_xpath('//*[@id="content"]/div/div/div/div/a').click()
      time.sleep(1)

      self.browser.find_element_by_id("loginname").send_keys("我的用户名")
      time.sleep(1)

      self.browser.find_element_by_id("nloginpwd").send_keys("我的密码")
      time.sleep(1)

      self.browser.find_element_by_id("loginsubmit").click()
      time.sleep(5)

    # 测试用例2:也是必须以test_开头

    def test_02(self):
      u"""测试用例2"""
      # self.save_img('测试用例2')
      time.sleep(1)

if __name__ == '__main__':
    unittest.main()



qqq911 发表于 2022-1-24 10:17:24

登录以后要保存登录信息

jingzizx 发表于 2022-1-24 15:34:41

区分用户,保持登录
页: [1]
查看完整版本: python自动化中怎样使每个用例都保持登录状态?