zoukankan      html  css  js  c++  java
  • python测试例子

    #-*-coding:utf-8-*-
    from __future__ import with_statement
    import os
    import unittest
    import time
    from splinter import Browser
    from random import randint
    
    class DbackupTestCase(unittest.TestCase):
    
        @classmethod
        def setUpClass(cls):
            cls.browser = Browser('firefox')
    
        @classmethod
        def setDownClass(cls):
            cls.browser.quit()
    
        def login(self, username, password):
            if self.browser.find_by_id('lhgfrm_lhgdgId'):
                with self.browser.get_iframe('lhgfrm_lhgdgId') as frame:
                    frame.find_by_id('trialRadio').click()
                    frame.find_by_id('continue').click()
    
            self.browser.fill('username',username)
            self.browser.fill('password',password)
            self.browser.find_by_name('Submit').click()
            time.sleep(0.5)
            assert self.browser.is_element_present_by_tag('body')
    
        @unittest.skip('skip register')
        def test_register(self):
            self.browser.visit('http://192.168.88.245/dbackup')
            self.login(username='admin', password= 'admin')
            time.sleep(1)
            #because iframe has no id,so can't get it
            #iframe = self.browser.find_by_tag('iframe')
            #iframe.find_link_by_href('../Supermanage/LocalCfgManage.php').click()
    
            #self.browser.find_by_id('Navigate1').click()
            #self.browser.find_link_by_href('Register.php').click()
            navigate = self.browser.find_by_css('.NavigateMBG')
            for i in navigate:
                print i
            navigate[2].click()
            navigate[2].find_by_tag('a')[2].click()
            time.sleep(0.5)
            
            file = open('username.txt')
            lines = file.readlines()
            for line in lines:
                data = [ line.strip().split(':') for word in line]
                user = data[0]
                self.browser.find_by_id('username').fill(data[0][0])
                self.browser.fill('password',data[0][1])
                self.browser.find_by_id('confirmpassword').fill(data[0][1])
                self.browser.find_by_id('email').fill(data[0][2])
                self.browser.find_by_id('telephone').fill(data[0][3])
                self.browser.find_by_name('Submit').click()
                time.sleep(1)
                alert = self.browser.get_alert()
                alert.accept()
                #navigate[2].click()
                #navigate[2].find_by_tag('a')[2].click()
                self.browser.find_by_id('Navigate1').click()
                self.browser.find_link_by_href('Register.php').click()
            file.close()
    
        
        @unittest.skip('skip user land')
        def test_User(self):
            self.browser.visit('http://192.168.88.245/dbackup')
            file = open('username.txt')
            lines = file.readlines()
            for line in lines:
                data = [ line.strip().split(':') for word in line ]
                user = data[0]
                self.login(username = user[0], password = user[1])
                time.sleep(1)
                iframe =  self.browser.find_by_tag('iframe')
                iframe[0].find_by_tag('a')[3].click()
                self.browser.visit('http://192.168.88.245/dbackup')
    
        @unittest.skip('del user')
        def test_delUser(self):
            self.browser.visit('http://192.168.88.245/dbackup')
            self.login(username ='admin', password ='admin')
            time.sleep(0.5)
            navigate = self.browser.find_by_css('.NavigateMBG')
            navigate[2].click()
            navigate[2].find_by_tag('a')[1].click()
            table=self.browser.find_by_id('mytable')
            tr=table.find_by_tag('tr')
            file = open('deluser.txt')
            delname = file.readline()
            file.close()
            i=1
            while i< len(tr):
                if tr[i].find_by_tag('td')[1].value == delname.strip():
                    tr[i].find_by_tag('input').click()
                    self.browser.find_by_id('nDeleteAccountID').click()
                    time.sleep(1)
                    alert = self.browser.get_alert()
                    alert.accept()
                    alert = self.browser.get_alert()
                    alert.accept()
                    time.sleep(1)
                    break
                else:
                    i+=1
    
        def test_addFTP(self):
            self.browser.visit('http://192.168.88.245/dbackup')
            self.login(username = 'admin', password = 'admin')
            time.sleep(0.5)
            navigate = self.browser.find_by_css('.NavigateMBG')
            navigate[0].click()
            navigate[0].find_by_tag('a')[2].click()
            file = open('ftp.txt')
            lines = file.readlines()
            for line in lines:
                data = [ line.strip().split(':') for word in line ]
                ftp = data[0]
                self.browser.find_by_id('strFTPNameID').fill(ftp[0])
                ip = [ ftp[1].strip().split('.') for ipnum in ftp[1] ]
                self.browser.find_by_id('IP1').fill(ip[0][0])
                self.browser.find_by_id('IP2').fill(ip[0][1])
                self.browser.find_by_id('IP3').fill(ip[0][2])
                self.browser.find_by_id('IP4').fill(ip[0][3])
                self.browser.find_by_id('strPortID').fill(ftp[2])
                self.browser.find_by_id('strFTPLoginNameID').fill(ftp[3])
                self.browser.fill('strFTPLoginPW',ftp[4])
                self.browser.find_by_id('ConfirmPWID').fill(ftp[4])
                self.browser.find_by_id('nPathID').fill(ftp[5])
                self.browser.find_by_id('Submit').click()
                alert = self.browser.get_alert()
                alert.accept()
                time.sleep(1)
                self.browser.find_by_id('Navigate5').click()
                self.browser.find_link_by_href('FtpCfg.php').click()
    
    
    unittest.main()      

    username.txt

    hdingjia:dingjia:hzhida95@gmail.com:13423413413
    huangzd:dingjia:hzhida95@gmail.com:13143143144
    mricurm:200012334:hzhida95@gmail.com:1314314141
    Jane:jane:hzhida95@gmail.com:34313124314

    ftp.txt

    ftpunbuntu:192.168.88.162:21:hzhida:dingjia:FTPFile/backup

     

  • 相关阅读:
    弹出框
    my.conf 配置编码为utf-8
    解决git pull 命令失效,不能从远程服务器上拉取代码问题
    git config --global core.autocrlf false
    python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
    MySQL缺失mysql_config文件
    物联网操作系统系列文章之-软件平台的力量
    50% 的财富 500 强企业使用 Windows Azure
    Mobile Service更新和 Notification Hub 对Android的支持
    Windows Azure 社区新闻综述(#68 版)
  • 原文地址:https://www.cnblogs.com/hzhida/p/2643645.html
Copyright © 2011-2022 走看看