背景
近期的⾃动化测试项⽬中有个关于测试内部IM通信软件的需求,在了解到各个客户端的相应技术栈实现以后,在mac中的应⽤使⽤的是electron 技术,我们也对相应的技术进⾏调研,此⽂记录⼀下在关于electron应⽤的⾃动化测试。
electron 简介
electron利⽤Chromium和Node.js,为使⽤ JavaScript,HTML 和 CSS 构建跨平台的桌⾯应⽤程序,可以实现代码⼀次编译,多端运⾏的效果,可以⽣成mac app, windows exe等,但是它编译出来的⽂件由于包含Chromium,所以体积⼀般会⽐较⼤。
使⽤selenium操作Chrome浏览器
先确定⼀下系统中的chrome浏览器的版本,由于selenium 操作Chrome浏览器需要使⽤到ChromeDriver,不同版本的Chrome对应着不同的ChromeDriver,如果不对应的话可能会失败。
然后到
ChromeDriver - WebDriver for Chrome - Downloads 这⾥下载对应的ChromeDriver,国内的⽤户如果访问不了的话可以使⽤淘宝镜像源
https://npm.taobao.org/mirrors/chromedriver
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport time
driver = webdriver.Chrome()# webdriver.Chrome 在初始化的时候也可以指定chromedriver路径,这种对于系统中有多个版本的chromedriver⾮常有⽤# driver = webdriver.Chrome(executable_path="/Users/qihoo/Desktop/chromedriver94")driver.get("https://www.google.com")assert "Google" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("360")
elem.send_keys(Keys.RETURN)assert "No results found." not in driver.page_source
driver.close()
使⽤selenium操作electron应⽤
想要使⽤ s