Web UI自动化测试问题

Web UI自动化测试问题

Selenium 相关

selenium如何连接已经打开的浏览器

selenium虽然没有提供连接它自己创建的浏览器实例,但是却可以连接通过–remote-debugging-port=12306这个参数启动的chrome浏览器。什么意思呢?我们先使用命令行启动一个chrome,命令如下
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
Python使用刚才启动的浏览器,代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:12306")
driver = webdriver.Chrome(options=options)

selenium 实现不定位元素,输入enter键

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
ActionChains(driver).send_keys(Keys.ENTER).perform()

selenium 上传文件

  1. input类型:driver.find_element_by_name('txt_userfile').send_keys(r"E:\test.jpg")

selenium 获取chrome控制台信息

_service = Service(executable_path=RESOURCES_PATH + "/chromedriver")
caps = webdriver.DesiredCapabilities.CHROME.copy() # 增加性能日志并打开loggingPrefs
caps['goog:loggingPrefs'] = {'browser': 'ALL'}
driver = webdriver.Chrome(options=_options, service=_service, desired_capabilities=caps)
console_log = driver.get_log("browser")
for log in console_log:
    print(log)

下拉框元素定位

  1. 普通的select控件,selenium自带方法可以定位

  2. 自己定义下拉框,就是普通的div控件,当我们想寻找下拉框的某个选项时,展开下拉框后,想通过浏览器的定位,发现只要鼠标点击其他地方时,下拉框就收起了,于是就陷入了迷惑中了。该如何解决这类问题呢?答案:

    1. 展开下拉框
    2. 右键下拉框的选项
    3. 点击检查

    此时,浏览器的下方就获取到当前的元素了属性了,然后就可以愉快的拿到元素的属性进行定位了~~

Docker启动web自动化

  1. 编写Dockerfile:
FROM python:3.7.0
USER root
WORKDIR /code
COPY . /code
RUN pip3 install --upgrade pip && pip3 install -r /code/requirements.txt -i https://pypi.douban.com/simple
CMD cd /code/run && python3 officer_run.py
  1. 启动chrome:docekr run -p 4444:4444 selenium/standalone-chrome:latest
  2. 进入项目目录构建容器:
cd 项目目录
docker build -t name .
  1. 启动容器:docker run name
posted @ 2022-02-23 17:27  Hiraly  阅读(99)  评论(0编辑  收藏  举报