如何编写Python单元测试代码以与电子表格进行交互

时间:2019-04-30 12:26:17

标签: python-3.x selenium-webdriver openpyxl python-unittest

我用Python / Selenium / OpenPyxl编写了一个程序,该程序需要从电子表格中登录并插入网站。这不是正式的作业,我只是想尝试使用网上找到的一些练习来教自己(尽管在Java中没有Python)。

我想编写单元测试来检查我的测试,但仅了解基于在线研究的基本单元测试。寻找有关如何为此测试编写适当的单元测试的指南。

我有一个模块-该模块有以下模块

  1. 一个For Range循环可计算电子表格中登录凭据的行数(无论成功与否,测试都会尝试所有登录)
  2. 检查登录是否成功的条件
  3. 登录失败时的其他说明
  4. “尝试/例外”,将由“其他”条件激活,如果登录失败,则关闭警报,如果成功登录,则关闭警报。
  5. OpenPyxl,如果测试通过或失败,则使用凭据填充每一行

我的理解是我需要

  1. def setupClass(cls):测试电子表格中的每一行凭据

  2. 一个def tearDown(self):为每行凭证关闭每个测试

  3. 我需要有关如何针对If / Else条件进行单元测试的指南

  4. 在单元测试中如何应用“尝试/例外”条件的指导

如果您可以指导我,那就太好了。我无法看到它

#loop through each row of spreadsheet and enter the username and password in login for each row        
  for r in range(2, rows+1):
        username = spreadsheet.readData(path, "Sheet1", r, 1)
        password = spreadsheet.readData(path, "Sheet1", r, 2)
        login.enter_username(username)
        login.enter_password(password)
        login.click_login()

#If login if not successful then accept alert, if login is successful press back button to return to login page
        try:
            alert = driver.switch_to.alert
            alert.accept()
        except NoAlertPresentException:
            driver.execute_script("window.history.go(-1)")
#If login is successful and goes to next page then pass test and populate spreadsheet. If login is not successful then update spreadsheet with fail result
        if driver.current_url == "http://www.demo.guru99.com/V4/manager/Managerhomepage.php" :
            print("test is passed")
            spreadsheet.writeData(path, "Sheet1", r, 3, "test passed")
        else:
            print("test failed")
            spreadsheet.writeData(path, "Sheet1", r, 3, "test failed")

#below is where i' looking for guideance.
Class Test_LoginTest(unittest.TestCase):
    @classmethod
    def setupClass(cls):
        new_url = "http://www.demo.guru99.com/V4/manager/Managerhomepage.php"

    def tearDown(self):
        print('teardownClass')

    def test_login_valid(self):
        self.assertEqual()

我想我需要

  1. assertert等于成功登录进入下一页

  2. 断言登录失败会发出警报

  3. 我需要断言Excel电子表格更新正确吗? (我不知道该怎么做)

4。是否需要对try / except起作用进行单元测试?

0 个答案:

没有答案