自動化測試selenium簡單應用
#coding:utf-8 ''' Created on 2018年8月6日
@author: linhuajian ''' from selenium import webdriver import unittest from HTMLTestRunner import HTMLTestRunner from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By
import time from selenium.webdriver.common.action_chains import ActionChains class nova(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.url = "http://care.novaicare.com" def iscunzai(self): driver=self.driver try: driver.find_element_by_xpath('//*[@id="lableTable"]/tbody/tr[7]/td[2]/a') return True except: return False def xiansp(self): u'''埋點自動化測試報告:顯示屏列表''' #登入模組 driver=self.driver driver.get(self.url) self.driver.maximize_window() driver.implicitly_wait(20) driver.find_element_by_xpath('//*[@id="username"]').clear() driver.find_element_by_xpath('//*[@id="username"]').send_keys("linhuajian") driver.find_element_by_xpath('//*[@id="password"]').clear() driver.find_element_by_xpath('//*[@id="password"]').send_keys("123456") driver.find_element_by_xpath('//*[@id="loginform"]/button').click() time.sleep(1) time.sleep(1) driver.find_element_by_xpath('/html/body/div[16]/div/div[5]/a[1]').click() #點選百寶箱 time.sleep(3) above=driver.find_element_by_xpath('//*[@id="app"]') ActionChains(driver).move_to_element(above).perform() #點選顯示屏列表 driver.find_element_by_xpath('//*[@id="moreAPPs"]/ul[3]/li[1]/a').click() ###############顯示等等 time.sleep(3) WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.XPATH,'//*[@id="all"]'))) driver.find_element_by_xpath('//*[@id="lableTable"]/tbody/tr[7]/th/input').click() #選中進行批量編輯 #driver.find_element_by_xpath('//*[@id="all"]').click() time.sleep(1) if self.iscunzai(): print 'Exist' #點選批量刪除 #driver.find_element_by_xpath('//*[@id="delete-lable"] ').click() driver.find_element_by_xpath('//*[@id="delete-lable"]').click() time.sleep(1) driver.find_element_by_xpath('//*[@id="myName"]/div/div/div[3]/button[1]').click() if self.iscunzai(): print 'successfully delete' #點選取消 #driver.find_element_by_xpath('//*[@id="myName"]/div/div/div[3]/button[2]').click() #點選顯示屏com4 #driver.find_element_by_xpath('//*[@id="lableTable"]/tbody/tr[2]/td[2]/a').click()
def tearDown(self): self.driver.quit()
if __name__ == "__main__": testunit=unittest.TestSuite() testunit.addTest(nova("xiansp")) fp=open('F:\\result.html','wb') runner=HTMLTestRunner(stream=fp, title=u'測試報告', description=u'自動化測試報告:') runner.run(testunit) print 'OK' fp.close()