2014-09-29 2 views
0

많은 사용자가 액세스하는 응용 프로그램이 있습니다. 그것은. NET 4.0 C# 웹 양식 응용 프로그램이고 그들은 거의 매일해야 할 작업을 자동화하도록 요청했습니다. 자동화해야하는 작업은 내 도메인 외부의 링크에 액세스하여 정보, 로그인 및 날짜와 같은 다른 정보로 채우는 것입니다.웹 사이트에서 셀렌으로 자동화 된 작업

그래서 많은 연구와 독서 끝에 셀레늄으로 로컬 작업을했습니다. 전체 프로세스가 자동화되어 있고 내 웹 사이트의 링크에서 호출합니다. 로컬에서는 매력처럼 작동합니다.

java -jar C:\...\selenium-server-standalone-2.43.1.jar -role hub -port 4545 

가장 큰 문제는 내가 누구나 내 웹 사이트를 게시해야하고 그들이 할 수 있어야한다는 것입니다 :

public void AutomateTask() 
{ 
    var url = new Uri("http://127.0.0.1:4545/wd/hub"); 
    var capability = DesiredCapabilities.Chrome(); 
    var driver = new RemoteWebDriver(url, capability); 

    driver.Navigate().GoToUrl("url"); 

    //do all the stuff I need to do 

    driver.Close(); 
} 

내가이 명령을 사용하여 내 서버를 시작 : 여기

코드입니다 셀렌 노드를 자신의 머신이나 다른 것으로 시작하지 않고도 자동화 된 프로세스를 사용할 수 있습니다. 로컬에서는 각 브라우저마다 노드가 실행되고 있으며,이 웹 드라이브를 사용할 수 있습니까? 즉, 사용자는 설치 나 다른 것에 대해 걱정할 필요가 없습니다. 링크를 클릭하고 작업이 끝날 때까지 브라우저를보아야합니다. 다른 컴퓨터에서 내 로컬 IIS의 응용 프로그램 링크를 클릭하면 요청 브라우저의 새 창이 링크를 클릭 한 컴퓨터가 아닌 서버 컴퓨터에서 열립니다.

나는 이것에 대한 해결책을 찾기 위해 모든 곳을 찾고 있지만 아무도 발견되지 않았습니다.

그래서 :

  1. 나는 세 번째 웹 사이트에 액세스하는 웹 사이트를 가지고있다.
  2. 이 과정을 자동화해야합니다.
  3. 사용자는 링크 만 클릭하고 새 브라우저 창이 열리도록 기다린 다음 일부 필드가 자동으로 채워질 때까지 기다린 다음 보안 문자를 입력하고 "계속"을 클릭하여 브라우저 작동을 즐기십시오.

셀렌으로 가능합니까? 그렇지 않은 경우, 어떤 프레임 워크 또는 어떻게 이것을 수행 할 수 있습니까?

추가 세부 정보가 필요하면 알려주십시오.

답변

0

사용자에게 브라우저를 표시 할 필요가없는 경우 웹 앱을 호스팅하는 컴퓨터에서 셀렌을 실행하는 링크를 웹 앱에 배치하면됩니다. 그렇게하면 모든 최종 사용자 컴퓨터가 아니라 웹 응용 프로그램을 호스팅하는 웹 서버에 셀렌을 설치하고 실행해야합니다. 이 방법을 사용하면 HtmlUnitDriver를 사용할 수 있습니다. 헤드리스이기 때문에 실제로 실행중인 셀렌 테스트를 보지 않을 것이기 때문입니다.

+0

답장을 보내 주셔서 감사합니다. 문제는 사용자가 captcha가있는 첫 번째 화면과 상호 작용할 필요가 있다는 것입니다. –

관련 문제