zoukankan      html  css  js  c++  java
  • web自动化测试

    一、梳理

    1、根据要求需要自动添加很多条数据

    2、这就涉及到很多方面的知识。元素定位的方法(这个就能遇到很多坑,要完全掌握元素定位才能避免进坑)、循环等(代码基础要掌握好)

    二、操作

    1. 选择进行自动化操作的浏览器(火狐,谷歌二选一),我一般用谷歌浏览器。下载对应版本的chomedriver
     
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    '''
     @File  : vuid_list.py
     @Author: kiki
     @Date  : 2019-10-14
     
     '''
    # -*- coding:utf-8 -*-
    import random
    import time
    import os
    from selenium import webdriver
    
    url = 'https://...................../list'
    chromedriver = "/Users/admin/Downloads/chromedriver"         #Mac ChomeDriver存放位置
    
    
    def randomSleep(minS, maxS):  # 定义随机停顿时间函数
        time.sleep((maxS - minS) * random.random() + minS)
    
    
    # 声明浏览器对象
    os.environ["webdriver.chrome.driver"] = chromedriver
    driver = webdriver.Chrome(chromedriver)
    
    driver.get(url)  # 访问页面,用 get() 方法来请求一个网页,参数传入链接 URL
    randomSleep(1, 2)
    
    driver.find_element_by_id('username').send_keys('1')
    time.sleep(1)
    driver.find_element_by_id('password').send_keys('1')
    randomSleep(1, 2)
    
    # 点击登录
    driver.find_element_by_xpath('//*[@id="LAY-user-login"]/div/div[2]/div[3]/button').click()
    time.sleep(4)
    
    
    def number():
        # driver.maximize_window()
        driver.implicitly_wait(10)
        # 输入vuid,数量
        input_box=driver.find_element_by_xpath('//*[@id="form"]/div[1]/div/input')
        input_box.send_keys('VSTB1')
        # input_box.send_keys()
        time.sleep(2)
        driver.find_element_by_xpath('//*[@id="number"]').send_keys('1')
        time.sleep(1)
        driver.find_element_by_xpath('//*[@id="form"]/div[3]/button').click()
        time.sleep(3)
        # clear():清空输入框
        try:
            time.sleep(2)
            input_box.clear()
            print('成功清空输入框')
        except Exception as e:
            print('fail清空输入框'+format(e))
        # time.sleep(5)
    
    
    if __name__ == "__main__":
        for i in range(0, 10):                    #number(要执行的操作)循环10次
            number()

    这里遇到一个小难题,就是输入框的内容要重复输入,就需要用到clear()来清除之前输入的内容,避免输入的内容叠加。就像这样

     clear()后的效果是这样:

     下篇会写个元素定位的知识,新手上路,有错误请前辈们多多指教!

  • 相关阅读:
    SpringMVC从Request域中获取数据
    SpringMVC重定向
    SpringMVC的请求转发的三种方法
    SpringMVC文件上传
    SpringMVC处理请求释放静态资源的三种方式
    jackson实现json转换
    SpringMVC之请求部分
    SpringMVC的执行流程
    Java [Leetcode 39]Combination Sum
    深入解析Java对象的hashCode和hashCode在HashMap的底层数据结构的应用
  • 原文地址:https://www.cnblogs.com/qiqi-yhq/p/11675861.html
Copyright © 2011-2022 走看看