用python做自动化控制-python简单实现自动化

我们先看大概的界面图片:

登陆界面:

用python做自动化控制-python简单实现自动化_第1张图片

注册界面:

用python做自动化控制-python简单实现自动化_第2张图片

登陆后的界面:

用python做自动化控制-python简单实现自动化_第3张图片

添加事物后的界面:

用python做自动化控制-python简单实现自动化_第4张图片

接下来我们详细的分析一下python的自动化代码,有不对的地方希望大家指出

register:注册模块(第一个模块字符比较大)

#-*-coding:UTF-8 -*-

from selenium importwebdriver

#这里需要引入selenium库,它是能够帮助我们识别操控浏览器的库importos

#OS是我们操作dos系统时需要引入的库

os.system("taskkill /f /im chromedriver.exe")

#杀死这个chromedriver进程,因为每次启动都会打开,所以需要kill,这里用的chrome浏览器,打开方式时chromedriver.exe。需要放在代码同一目录下,不明白的可以搜索

driver=webdriver.Chrome()

'''webdriver的意思:

Controls the ChromeDriver and allows you to drive the browser.

You will need to download the ChromeDriver executable from

http://chromedriver.storage.googleapis.com/index.html

这里的意思是:webdriver的意思是控制ChromeDriver和驱动浏览器,需要下载chromediriver驱动,需要注意对应版本。

driver是一个类,可以理解我们得到了一个浏览器窗口

'''

#下面都是调用对象,对应的方法(不知什么是类和对象,可以去看看慕课网的廖雪峰老师的课)

driver.get("http://172.27.35.4:8080/mt")

#进入对应的网址,这里是我自己搭建的一个小项目

driver.maximize_window()

#窗口最大化

driver.find_element_by_link_text("接口测试课程").click()

#找到网页中的链接

#点击

driver.find_element_by_link_text("点击..").click()

driver.find_element_by_id("firstName").send_keys("jie")

#find_element_by_id()找到网页中的id

#send_keys()传值

driver.find_element_by_id("lastName").send_keys("feng")

driver.find_element_by_id("userName").send_keys("fengjie")

driver.find_element_by_id("email").send_keys("fengjie@163.com")

driver.find_element_by_id("password").send_keys("111")

driver.find_element_by_xpath("//button[@type='submit']").click()

#通过xpath查找元素,如果不了解,可以先去学习html基础,推荐菜鸟教程。

login:登陆模块

#-*-coding:UTF-8 -*-

from selenium importwebdriverfrom pymysql importconnect

#这里需要引入python调用数据的库importos

os.system("taskkill /f /im chromedriver.exe")

driver=webdriver.Chrome()

driver.get("http://172.27.35.4:8080/mt")

driver.maximize_window()

driver.find_element_by_link_text("接口测试课程").click()

conn= connect(host='172.27.35.4', user='root',database='scott', port=3306)

#这里是连接数据库,输入对应的数据。不知道有哪些参数,可以看源码,我看了一下参数太多了,这里就不列出来了

cursor=conn.cursor()"""Create a new cursor to execute queries with

cursor是方法

"""这是cursor的注释,我们可以理解为实例化一个游标来执行查询"""

query= "select * from userinfo where user_name='fengjie'"

#定义一个变量,其实就是我们要进行查询的语句,不记得了推荐菜鸟教程学习哈。cursor.execute(query)

#execute()是cursor的方法,执行sql语句,我们通过query传参,传入sql语句,得到的结果我们放在了游标里面

result=cursor.fetchall()

#将游标的结果一行一行的输出到result中,result变成了一个二维列表

driver.find_element_by_id("j_username").send_keys(result[0][5])

#选择数据中的姓名字段,输入数据

driver.find_element_by_id("j_password").send_keys(result[0][4])

#选择数据中的密码字段,输入密码

driver.find_element_by_xpath("//button[@type='submit']").click()

#点击提交

add:添加事务模块

# -*-coding:UTF-8 -*-

from pymysql import connect

from selenium import webdriver

from selenium.webdriver.support.select import Select

import os

os.system("taskkill /f /im chromedriver.exe")

driver = webdriver.Chrome()

driver.get("http://192.168.5.3/mt")

driver.maximize_window()

driver.find_element_by_link_text("接口测试课程").click()

conn = connect(host='192.168.5.3', user='root',

database='scott', port=3306)

cursor = conn.cursor()

query = "select * from userinfo where user_name='fengjie'"

cursor.execute(query)

result = cursor.fetchall()

driver.find_element_by_id("j_username").send_keys(result[0][5])

driver.find_element_by_id("j_password").send_keys(result[0][4])

driver.find_element_by_xpath("//button[@type='submit']").click()

username = result[0][5]

query = "delete from todo where user_name=(select id from userinfo where user_name='%s')" % username

#删除todo表中的数据,里面是添加的事务,因为我们要验证添加是否成功,所以要先删除原有的事务

cursor.execute(query)

#执行

conn.commit()

#提交

driver.find_element_by_id("inputName").send_keys("caichang_test")

Select(driver.find_element_by_id('priority')).select_by_value('MEDIUM')

#选择网页中的下拉框

driver.find_element_by_xpath("//input[@is-open='opened']").send_keys("20-June-2019")

#选择输入日期,xpath方法

driver.find_element_by_xpath("//button[@ng-click='isOpen = false']").click()

#点击确定

driver.find_element_by_xpath("//button[@type='submit']").click()

#点击提交

query2 = "select count(*) from userinfo,todo where userinfo.id=todo.user_name and userinfo.user_name='%s'" % username

cursor.execute(query2)

result2 = cursor.fetchmany()

#查询插入的数据

# 在实际工作中,要写入excel或其他文件中等,还要纳入日志等

if result2[0][0] == 1:

print "测试成功"

else:

print "测试失败"

driver.quit()

你可能感兴趣的:(用python做自动化控制-python简单实现自动化)