美文网首页
python界面自动化脚本示例(二)

python界面自动化脚本示例(二)

作者: Kingtester | 来源:发表于2020-05-21 08:33 被阅读0次
# -*- coding: UTF-8 -*-
from selenium  import  webdriver
import time
from selenium.webdriver.support.ui import Select
import win32api
import win32con
import pymssql
import pandas



d = webdriver.Chrome()
def dl():   #登录页面
    d.get('http://localhost:8080/jiance/login.jsp')
    d.maximize_window()
    time.sleep(2)
    d.find_element_by_id('userName').send_keys('登录员')
    d.find_element_by_id('password').send_keys('88888888')
    time.sleep(1)
    d.find_element_by_xpath('//*[@id="sub_a"]').click()
    time.sleep(2)
    d.find_element_by_xpath('//*[@id="menu-user_0"]').click()
    d.find_element_by_xpath('//*[@id="menu-user_0"]/dd/ul/li[1]/a').click()
    #d.find_element_by_xpath('//*[@id="menu-user_0"]/dd/ul/li[2]/a').click()
    time.sleep(3)
    ele = d.find_element_by_xpath('//*[@id="iframe_box"]/div[2]/iframe')
    d.switch_to.frame(ele)


def cljbxx(num):
    io = '车辆登录测试用例.xlsx'
    header = 0
    data = pandas.read_excel(io, header,keep_default_na=False)
    connect = pymssql.connect('127.0.0.1', 'sa', 'Anche123', 'acdb')
    if connect:
        cursor = connect.cursor()
        sql1 = "select bmsj from ac_xtbm where bmmc = '单位辖区'"
        sql2 = "select bmsj from ac_xtbm where bmmc = '检测逻辑线'"
        cursor.execute(sql1)
        row1 = cursor.fetchall()  # 取查询的所有值,cursor.fetchone()取查询的单个值
        sj_dwxq = ''.join(row1[0])  # 列表转换为字符串
        cursor.execute(sql2)
        row2 = cursor.fetchall()  # 取查询的所有值,cursor.fetchone()取查询的单个值
        for i in row2:
            if ('安检' or '综') in str(i):
                sj_jcljx=''.join(i)
                break
        cursor.close()
        connect.close()
    else:
        print('连接失败')
    qcphm = d.find_element_by_xpath('//*[@id="cphm"]')
    qcphm.clear()
    cphm = data['车牌号码'].values[num]
    d.find_element_by_xpath('//*[@id="cphm"]').send_keys(cphm)
    d.find_element_by_id('clsbdh').send_keys('12345678')
    hpzl = data['车牌种类'].values[num]
    d.find_element_by_id('hpzl').send_keys(hpzl)
    dqsj = time.strftime('%Y-%m-%d', time.localtime(time.time())) #当前时间
    sfkc_aj = data['是否空车'].values[num]
    d.find_element_by_id('sfkc_aj').send_keys(sfkc_aj)
    d.find_element_by_id('czdw').send_keys('深圳宝安')
    d.find_element_by_id('czdz').send_keys('深圳宝安地方')
    d.find_element_by_id('czdh').send_keys('19845781244')
    d.find_element_by_id('clpp').send_keys('漫步者')
    d.find_element_by_id('clxh').send_keys('BUICKSGM6510GL8')
    ccdjrq = data['登记日期'].values[num]
    if ccdjrq == '三月内':
        d.find_element_by_id('ccrq').send_keys(dqsj)
        d.find_element_by_id('ccdjrq').send_keys(dqsj)
    elif ccdjrq == '三月外':
        d.find_element_by_id('ccrq').send_keys('2019-11-12')
        d.find_element_by_id('ccdjrq').send_keys('2020-01-02')
    else:
        d.find_element_by_id('ccrq').send_keys('2011-02-03')
        d.find_element_by_id('ccdjrq').send_keys('2012-02-03')
    d.find_element_by_id('ccdjrq').send_keys(ccdjrq)
    d.find_element_by_id('fdjxh').send_keys('SVW751615AM')
    d.find_element_by_id('fdjhm').send_keys('12346789')
    ryzl = data['燃油类型'].values[num]
    d.find_element_by_id('ryzl').send_keys(ryzl)
    if '汽' in ryzl :
        d.find_element_by_id('rygg').send_keys('92#')
    elif '柴' in ryzl :
        d.find_element_by_id('rygg').send_keys('0#')
    else :
        d.find_element_by_id('rygg').send_keys('90#')
    dplx = data['底盘类型'].values[num]
    d.find_element_by_id('dplx').send_keys(dplx)
    zdfs = data['制动方式'].values[num]
    d.find_element_by_id('zdfs').send_keys(zdfs)
    qzdz = data['前照灯制'].values[num]
    d.find_element_by_id('qzdz').send_keys(qzdz)
    d.find_element_by_id('csys').send_keys('红,蓝')
    cllx = data['车辆类型'].values[num]
    d.find_element_by_id('cllx').send_keys(cllx)
    clyt = data['车辆用途'].values[num]
    d.find_element_by_id('clyt').send_keys(clyt)
    clsslb = data['车辆所属类别'].values[num]
    d.find_element_by_id('clsslb').send_keys(clsslb)
    syxz = data['使用性质'].values[num]
    d.find_element_by_id('syxz').send_keys(syxz)
    sfcy = data['是否乘用'].values[num]
    Select(d.find_element_by_id('sfcy')).select_by_visible_text(sfcy)
    zxzxjxs = data['悬挂形式'].values[num]
    d.find_element_by_id('zxzxjxs').send_keys(zxzxjxs)
    d.find_element_by_id('zzl').send_keys('8000')
    d.find_element_by_id('zaizl').send_keys('5400')
    d.find_element_by_id('zbzl').send_keys('3600')
    d.find_element_by_id('zcc').send_keys('9000')
    d.find_element_by_id('zck').send_keys('2100')
    d.find_element_by_id('zcg').send_keys('3000')
    zxlzw = data['转向轴数'].values[num]
    d.find_element_by_id('zxlzw').send_keys(int(zxlzw))
    sfxc = data['是否新车'].values[num]
    d.find_element_by_id('sfxc').send_keys(sfxc)
    win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL, 0, 0, -500)
    d.find_element_by_id('qdzkzzl').send_keys('1300')
    d.find_element_by_id('cys').send_keys('2')
    d.find_element_by_id('zdsjcs').send_keys('120')
    qzdyggsnfdutz = data['远光调整'].values[num]
    d.find_element_by_id('qzdyggsnfdutz').send_keys(qzdyggsnfdutz)
    d.find_element_by_id('sccj').send_keys('安车')
    d.find_element_by_id('pql').send_keys('2000')
    d.find_element_by_id('jqfs').send_keys('自然吸气')
    d.find_element_by_id('csxs').send_keys('厢货车')
    d.find_element_by_id('gyfs').send_keys('闭环电喷')
    d.find_element_by_id('bzzxs').send_keys('无')
    d.find_element_by_id('qdfs').send_keys('后驱')
    d.find_element_by_id('qgs').send_keys('4')
    sych = data['三元催化'].values[num]
    d.find_element_by_id('sych').send_keys(sych)
    d.find_element_by_id('ednjzs').send_keys('3500')
    d.find_element_by_id('sfyobd').send_keys('无')
    d.find_element_by_id('edgl').send_keys('35')
    d.find_element_by_id('edglzs').send_keys('3500')
    d.find_element_by_id('ywdpf').send_keys('无')
    d.find_element_by_id('ywsrc').send_keys('无')
    d.find_element_by_id('ltgg').send_keys('16R/3C')
    d.find_element_by_id('bsqxs').send_keys('手动/自动变速器')
    d.find_element_by_id('dwxq').send_keys(sj_dwxq)
    d.find_element_by_id('ednj').send_keys('35')
    d.find_element_by_id('yyzh').send_keys('900S10')
    d.find_element_by_id('mrhbjcff_zj').send_keys('不透光烟度')
    win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL, 0, 0, 500)
    d.find_element_by_id('jcxh').send_keys(sj_jcljx)
    if sfxc =='新车':
        d.find_element_by_id('zjywlx').send_keys('申请')
    elif sfxc == '在用车':
        d.find_element_by_id('zjywlx').send_keys('在用')
    win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL, 0, 0, -100)
    jclx_aj = data['检测项目安检'].values[num]
    if jclx_aj != '':
        d.find_element_by_id('jclx_aj').send_keys(jclx_aj)
    jcff_hj = data['检测项目环检'].values[num]
    if jcff_hj != '':
        d.find_element_by_id('jcff_hj').send_keys(jcff_hj)
        if sfxc == '新车':
            d.find_element_by_id('jclx_hj').send_keys('注册登记检验')
        elif sfxc == '在用车':
            d.find_element_by_id('jclx_hj').send_keys('定期检验')
    jclx_zj = data['检测项目综检'].values[num]
    if jclx_zj != '':
        d.find_element_by_id('jclx_zj').send_keys(jclx_zj)
    win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL, 0, 0, -300)
    d.find_element_by_id('lcbds').send_keys('5000')
    d.find_element_by_id('isAjNotNet').click()
    d.find_element_by_id('isHjNotNet').click()
    d.find_element_by_xpath('//*[@id="checkItemsTab"]/li[2]/a').click()
    d.find_element_by_xpath('//*[@id="checkItemsTab"]/li[1]/a').click()
    d.find_element_by_id('btn_CommitCarData').click()
    a = d.switch_to.alert
    a.accept()
    win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL, 0, 0, 500)
    print('发车成功',int(num))
    time.sleep(3)

num =0
dl()
while num <2:
    cljbxx(num)
    num +=1

相关文章

网友评论

      本文标题:python界面自动化脚本示例(二)

      本文链接:https://www.haomeiwen.com/subject/qpvaohtx.html