사설 :
각 자동화 된 테스트 학생들이 의무적으로 인터뷰의 문제는, 우리가 일반적으로 사용하는 것이라고 할 수도 발생 하겠지만 파일을 업로드 표준 컨트롤에서 SendKeys () 업로드를 완료 할 수 있지만, 우리의 테스트 사이트 업로드 컨트롤 일반적으로 자신의 패키지와 것 기존의 업로드가 아니라 그 API의 셀레늄이 업로드 작업을 완료 할 수 없었다 말할 것입니다, 그리고 우리가 파일을 업로드 할 수있는 작업을 완료하는 데 Autolt 타사 도구를 빌려, 지출되었습니다.
준비
1, 다운로드 autolt
공식 웹 사이트 : https://www.autoitscript.com/site/autoit/downloads/는 , 자신을 다운로드
바이두는 또한 녹색 버전, 무료 설치를 다운로드 할 수 있습니다, 저자는 녹색 버전이며, 다음과 같은 경우는 녹색 버전을 설명해야
바이 네트워크 디스크 첨부 : 링크 : https://pan.baidu.com/s/1szmGK7wudsXKkH5xkEOnOQ 추출 코드 : dysb를
2, 지정된 디렉토리에 압축 해제를 다운로드 한 후
3, 다음 테스트 페이지 HTML 코드
< HTML > < 선두 > < 메타 HTTP-당량 = "컨텐츠 타입" 콘텐츠 = "text / html과; 문자셋 = UTF-8" /> < 타이틀 >上传文件演示案例</ 타이틀 > </ 헤드 > < 본문 > < DIV 클래스 = "행 유체" > < DIV 클래스 = "잘 span6" > < H3 > 파일 업로드 </ H3 > < 입력 ID = ""업로드 유형 ="파일을 "이름 = "파일을" /> </ DIV > </ DIV > </ 몸 > </ html로 >
업로드 스크립트 작성
- 압축 해제 디렉토리를 찾아 AU3TOOL.exe을 두 번 클릭 개방형 인터페이스는 스크립트를 작성하는 데 사용됩니다
- , Au3Info.exe을 두 번 클릭하여 위치 도구 인터페이스를 엽니 다
-
파일에 다음 코드를 입력 : 괄호 안의 매개 변수를 참고 다음 단계는 매개 변수를 구하는 방법에 대한 것입니다
ControlFocus ( "TITLE1", "", "EDIT1"); WinWait ( "[CLASS # 32770]", "", 10); ControlSetText ( "TITLE1", "", "EDIT1", "文件地址"); 수면 (2000) ControlClick ( "제목 2", "", "Button1을");
파라미터 취득 단계 (처음 세 개의 라인)의
- 제목과 단추 1에있는 코드의 다음, 마지막 행
는 실행 프로그램을 생성하려면
[도구] -> 스크립트 컴파일러
실행 파일은 다음과 같습니다 :
자동화 된 테스트 스크립트는 업로드를 완료 upload.exe 호출
특정 코드는 다음과 같이 :
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import java.io.IOException; /** * @author rongrong * 上传文件演示案例 */ public class TestUpload { WebDriver driver; @BeforeClass public void beforeClass() { System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe"); driver = new ChromeDriver(); } @Test public void testUpload() { driver.get("file:///C:/Users/Administrator/Desktop/index.html"); driver.manage().window().maximize(); //选择文件 driver.findElement(By.id("upload")).click(); try { Runtime.getRuntime().exec("upload.exe"); } catch (IOException e) { e.printStackTrace(); } } @AfterClass public void afterClass() { driver.quit(); } }
效果如下:
到此使用自动化调用autolt上传文件的案例演示结束,可能很多同学会纠结autolt语法不会写啥的,大可不必纠结,基本写完是一劳永逸的,不会在维护了,更多autolt的用法,有兴趣的同学可以自行去官网查看了解。