First, combat ready
Created under the project file test.csv file, you can not directly create here, now need to create test.xlsx file, you can not directly modify the suffix, to save as test.csv, practice document reads as follows:
Read csv file content to achieve the following:
import csv import os def readCsv(row,col): rows = [] with open(os.path.join(os.path.dirname(__file__),'test.csv')) as f: reader = csv.reader(f) next(reader,None) for iter in reader: rows.append(iter) return ''.join(rows[row][col]) print(readCsv(1,2)) #打印出来是:请输入邮箱名
The above code, the read first content file in the list of rows, ". Join (rows [row] [col])" list the row is converted into a string.
Second, the implementation code
Sina login, for example, implement the code data stored test to csv file, to achieve the following:
__author__ = "XXX" import unittest from selenium import webdriver import os import time as t import csv def readCsv(row,col): rows = [] with open(os.path.join(os.path.dirname(__file__),'test.csv')) as f: reader = csv.reader(f) next(reader,None) for iter in reader: rows.append(iter) return ''.join(rows[row][col]) class SinaLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.maximize_window() self.driver.get('http://mail.sina.com.cn/') self.driver.implicitly_wait(30) the tearDown DEF (Self): t.sleep (. 3) self.driver.quit () DEF Login (Self, username, password): '' 'verification: Test Sina mailbox where log N' '' self.driver.find_element_by_id ( 'freename') send_keys (username). self.driver.find_element_by_id ( 'freepassword') send_keys (password). self.driver.find_element_by_link_text (U 'login') .click () DEF divText (Self): divText = self.driver .find_element_by_xpath ( '/ HTML / body / div [. 1] / div / div [2] /' 'div / div / div [. 4] / div [. 1] / div [. 1] / div [. 1] / span [. 1 ] ') # in freeError-span [1], the situation is changed according to the situation the input return (divText.text) .encode (' utf -8 ') test_username_password_null DEF (Self): '' 'Validation: test user name and password are empty error message' '' # are empty: Please enter the mailbox name self.login (readCsv (0,0), readCsv (0 , 1)) self.assertTrue (self.divText (), readCsv (0,2)) DEF test_sina_password_null (Self): '' 'validation: test user to a blank password is not empty error message' '' # username : empty, password: admin, Tip: enter the mailbox name self.login (readCsv (1,0), readCsv (1, 1)) self.assertTrue (self.divText (), readCsv (1, 2)) DEF test_sina_username_format (Self): '' 'validation: test user mailbox format incorrect error message' '' # username: [email protected], password: empty Note: Please enter the password self.login (readCsv (2,0 ), readCsv (2,1)) self.assertTrue (self.divText (),readCsv(2,2)) if __name__ == '__main__': unittest.main(verbosity=2)
The effect slightly.
Thank you for viewing!
2019-11-30