python简单实现自动化

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

  登陆界面:

  注册界面:

  登陆后的界面:

  添加事物后的界面:

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

  

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

# -*-coding:UTF-8 -*-
from selenium import webdriver
  #这里需要引入selenium库,它是能够帮助我们识别操控浏览器的库
import os
  #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("[email protected]")
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 import webdriver
from pymysql import connect
  #这里需要引入python调用数据的库
import os 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()

  

猜你喜欢

转载自www.cnblogs.com/zsjlovewm/p/10635925.html