SA200-TestSuit01

#!/usr/bin/env python

-- coding: utf-8 --

‘’’
Created on 2019年1月27日

@author: chelei
‘’’
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from HtmlTestRunner import HTMLTestRunner
from selenium.webdriver.support.select import Select
import unittest
from ATestMethod import ATestMethod
from selenium.webdriver.common.by import By
import time

#import xmlrunner
#import ATestMethod

class MyTest(unittest.TestCase):#继承unittest.TestCase

#每个测试用例执行之前做操作       
def setUp(self):
    print ('开始')
    self.ATest=ATestMethod(passwd="A200-0001",url="http://192.168.20.4:8080/CoreBusinessServer/login.html")
    self.driver=self.ATest.login()
    
#每个测试用例执行之后做操作
def tearDown(self):
    print ('结束')
    self.ATest.closebrowser()

#检查按钮标签为机器人配置       
def test_AutoCase001_run(self):
    self.ATest.swich_menu("系统配置")
    RobotCfg=self.driver.find_element_by_xpath('//*[@id="page-settings"]/div[1]/span[1]/div/span[2]/div/div').text
    self.assertEqual(RobotCfg,"机器人配置")

#新建站所,并验证成功 
def test_AutoCase002_run(self):
    self.ATest.swich_menu("系统配置")
    #进入建站工具界面
    self.driver.find_element_by_xpath('//*[@id="page-settings"]/div[1]/span[2]/div/span[2]/div/div').click()
    WebDriverWait(self.driver,10).until(EC.visibility_of_element_located((By.XPATH,'//*[@id="panel-calibration-file"]/div[2]/div[1]/span[2]/div')),message='建站工具按钮未展示')
    #建站并验证建站提示成功
    TipsSuccess=self.ATest.buildstation("ZQQ", 2019)
    self.assertEqual(TipsSuccess,"新建成功!")
    #获得新建站表格数据,并验证每个字段数值
    StationListToID=self.ATest.getstationlist("2019")
    self.assertEqual(StationListToID[1],"2019")
    self.assertEqual(StationListToID[2],"ZQQ")
    self.assertEqual(StationListToID[3],"不存在")

def test_AutoCase003_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    time.sleep(5)
    #输入磁钢片号和偏移量,并验证误差在0.02m范围内
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[1]/input').send_keys("8")
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[2]/input').send_keys('0')
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]').click()
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[2]/img').click()
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[1]/span[2]').text
    b = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[2]/span[2]').text
    time.sleep(20)
    self.assertTrue(abs(8-float(a)-float(b))<0.02)

def test_AutoCase004_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    time.sleep(5)
    #输入左俯仰角度,并验证误差在0.2度范围内
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[3]/input').send_keys("200")
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]').click()
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[3]/img').click()
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[3]/span[2]').text
    self.assertTrue(abs(200 - float(a)) < 0.5)

def test_AutoCase005_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    time.sleep(5)
    #输入右俯仰角度,并验证误差在0.2度范围内
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[4]/input').send_keys("200")
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]').click()
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[4]/img').click()
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[4]/span[2]').text
    self.assertTrue(abs(200 - float(a)) < 0.5)

def test_AutoCase006_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    time.sleep(5)
    #输入升降高度,并验证误差在0.02m范围内
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[5]/input').send_keys("0.8")
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]').click()
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[5]/img').click()
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[5]/span[2]').text
    self.assertTrue(abs(0.8 - float(a)) < 0.02)

def test_AutoCase007_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    #time.sleep(5)
    #输入旋转角度,并验证误差在0.2度范围内
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[6]/input').send_keys("100")
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]').click()
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[6]/img').click()
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/ul/li[6]/span[2]').text
    #time.sleep(2)
    print(a)
    self.assertTrue(abs(100 - float(a)) < 0)

def test_AutoCase008_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    time.sleep(5)
    #打开行走避障,并验证行走避障打开
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/div[1]/span[2]/div[1]/span[2]').click()
    #alert = self.driver.switch_to_alert()
    #time.sleep(2)
    WebDriverWait(self.driver, 10).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="sysPop"]/span[4]')),message='行走避障二次确认页面未展示')
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/div[1]/span[2]/div[1]/span[2]').get.attribute("class")
    self.driver.find_element_by_xpath('//*[@id="sysPop"]/span[4]/div[3]/div[2]/span[1]/span').click()
    b = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/div[1]/span[2]/div[1]/span[2]').get.attribute("class")
    self.assertNotEqual(a,b,"行走避障打开")

def test_AutoCase009_run(self):
    self.ATest.swich_menu("系统配置")
    self.ATest.swich_submenu("巡检设备采集")
    time.sleep(5)
    #打开行走避障,并验证下方避障打开
    self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/div[1]/span[2]/div[2]/span[2]').click()
    #alert = self.driver.switch_to_alert()
    #time.sleep(2)
    WebDriverWait(self.driver, 10).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="sysPop"]/span[4]')),message='下方避障二次确认页面未展示')
    a = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/div[1]/span[2]/div[2]/span[2]').get.attribute("class")
    self.driver.find_element_by_xpath('//*[@id="sysPop"]/span[4]/div[3]/div[2]/span[1]/span').click()
    b = self.driver.find_element_by_xpath('//*[@id="control"]/div/div/div[2]/span[2]/span[1]/div[1]/span[2]/div[2]/span[2]').get.attribute("class")
    self.assertNotEqual(a,b,"下方避障打开")

if name == ‘main’:
#unittest.main()
test_suite = unittest.TestSuite()
#测试套件中添加测试用例
test_suite.addTest(MyTest(‘test_AutoCase010_run’))
#test_suite.addTest(MyTest(‘test_AutoCase002_run’))
#test_suite.addTest(unittest.makeSuite(MyTest))
#把日志打印到文件中,不输出在控制台
#fp = open(’./reports/a.txt’,‘w’)
#runner = HTMLTestRunner(output=’./’,stream=fp,report_title=u’A自动化测试报告’)
runner = HTMLTestRunner(output=’./’,report_title=u’A自动化测试报告’)
runner.run(test_suite)
#后续Jenkins进行持续集成,生成XML报告
#runner = xmlrunner.XMLTestRunner(output=‘report’)#指定报告放的目录
#runner.run(test_suite)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值