selenium UI自动化 件上传的两种方式

①被测产品的UI界面中存在可输入文件路径的input输入框(该input框元素可能是可见元素,也有可能是隐藏元素),可以通过 send_keys('文件路径') 函数。

②被测产品是采用调用本地Windows文件系统窗口的方式进行文件上传。(该方式进行文件上传时,selenium工具无能为力。selenium工具是通过发送js脚本来驱动浏览器,而Windows系统窗口就完全不在Selenium的能力范围内),调用windows操作系统的UI自动化框架。当被测产品与Windows系统进行交互时,就需要使用C端自动化的相关框架,这类框架有很多选择,此次选择的是PyAutoGUI。

第一种:

selenium UI自动化代码如下:

from selenium import webdriver
 
driver.find_element_by_css_selector('form>#file').send_keys(r'C:\Users\Administrator\Desktop\1.txt')
driver.find_element_by_css_selector('form>input[type="submit"]').click()
 

第二种:
pyautogui为第三方包,需要 pip install pyautogui 进行安装后,在脚本中 import 导入即可使用。

def cert_choose_certfile(self, filepath):
    self.driver.base_click(page.cert_upload_certfile)
    # D:\cacert123.pem

    try:
        sleep(10)
        pyautogui.write(filepath)  # 输入文件绝对路径
        pyautogui.press('enter', 2)  # 按2次回车键(按2次是为了防止出错)
    except Exception as e:
        e.args = ('上传文件操作异常',)
        raise e

你可能感兴趣的:(自动化测试,selenium,自动化,测试工具)