배포 후 웹 사이트에서 빠른 연기 테스트를하기 위해 WatiN 라이브러리를 사용하고 있습니다. 특히, 내 페이지에서 특정 링크를 클릭하면 PDF가 브라우저에서 열리도록하고 싶습니다. 링크를 클릭하는 것은 쉽지만 Acrobat Reader가 브라우저 창에서 성공적으로 열렸는지 어떻게 알 수 있습니까? 나는WatiN을 사용하여 브라우저에서 PDF가 성공적으로 열렸는지 확인하는 방법은 무엇입니까?
답변
문지름,
내가 한 버그 리포트와이 문제에 대한 하나 개의 기능 요청을 발견 ... 404 같은 상황, 서버 오류 또는 시간 초과를 잡을 싶습니다. 버그와 기능 요청은 모두 닫혀 있지만 PDF 문서를 호스팅하는 IE 윈도우에는 연결할 수 없습니다.실제로 PDF 파일을 호스팅하는 창은 IE.InternetExplorers() 또는 InternetExplorersNoWait() 컬렉션의 항목조차 아닙니다.
Windows XP에서 WatiN 2.0.10.928 및 IE7을 사용하고 있습니다.
내 솔루션 어떤 이유로) (호스트 PDF 뷰어가 WatiN.IE.InternetExplorers의 항목 수없는 IE 창부터 수집을 자신을 Interop.shdocvw.dll을에 COM 참조를 추가하고 창을 확인 사용하는 것이 었습니다 .
참조 추가 -> COM -> Microsoft Internet Controls v1.1을 사용하여 Interop.ShDocVw.dll에 대한 참조를 추가하지 마십시오.
System.IO.FileLoadException : 당신이 할 좋은 기회를 프로그래머 경우이 예외를받을 수 있습니다 파일이나 어셈블리를로드 할 수 없습니다 'Interop.SHDocVw, 버전 = 1.1.0.0을, 문화 = 중립 ... 또는 그것의 의존성 중의 하나. 대신 당신이 WatiN와 함께 배포 먹으 렴 SHDOCVW.DLL를 참조 할 필요가
다음 위치 어셈블리의 매니페스트 정의 (0x80131040 HRESULT에서 예외) 어셈블리 참조와 일치하지 않습니다. 추가 정보를 원하시면 StackOverflow의 질문 '어셈블리를로드 할 수 없습니다 WatiN 오류'를 체크 아웃 : WatiN Error Could not Load Assembly
using System.IO;
using SHDocVw;
namespace PDF_SPIKE
{
class Program
[STAThread]
static void Main(string[] args)
{
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
string pdfViewerURL = "http://YourURL/document.pdf";
bool pdfOpened = false;
string filename;
foreach (SHDocVw.InternetExplorer ie in shellWindows)
{
filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals("iexplore") && ie.LocationURL.Equals(pdfViewerURL))
pdfOpened = true;
}
if (pdfOpened)
Console.WriteLine("Your PDF file is OPENED");
else
Console.WriteLine("Your PDF file was NOT found.");
}
감사합니다, 모모,이 대답. 그것은 나에게도 매우 도움이되었습니다.
다른 사람들이 내가 한 것과 동일한 문제가 발생하는 경우를 대비하여이 답변에 대한 추가 솔루션을 제공하고 싶습니다. http://www.debugging.com/bug/24258
:
이SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
이
이 솔루션은 여기에서 찾을 수 있습니다 "SHDocVw.ShellWindowsClass가 내장 될 수없고, 대신에 해당하는 인터페이스를 사용하여"
나는 처음에이 줄을 구현하는 오류가 발생했습니다 Interop.ShDocVW.dll 참조를 마우스 오른쪽 단추로 클릭하고 포함 interop 형식을 false로 설정해야합니다.
- 1. XUL 메신저 팝업이 열렸는지 확인하는 방법은 무엇입니까?
- 2. 브라우저에서 PDF가 브라우저로 전송됩니다.
- 3. pdf가 ITextSharp를 사용하여 텍스트 기반인지 확인하는 방법은 무엇입니까?
- 4. WatiN을 사용하여 특정 URL이 제공되는지 확인하는 방법은 무엇입니까?
- 5. 성공적으로 로그인 한 IP를 확인하는 방법은 무엇입니까?
- 6. WatiN을 사용하여 Chrome을 자동화하는 방법은 무엇입니까?
- 7. 내 웹 페이지에서 websocket이 열렸는지 확인하는 방법
- 8. TestComplete에서 응용 프로그램이 성공적으로 시작되었는지 여부를 확인하는 방법은 무엇입니까?
- 9. 모바일 브라우저에서 푸시 기술이 성공적으로 작동합니까?
- 10. 설치 프로그램 (InstallShield가 구체적으로) 성공적으로 완료되었는지 확인하는 방법은 무엇입니까?
- 11. 사용자가 내 소프트웨어를 성공적으로 설치했는지 확인하는 방법은 무엇입니까?
- 12. storedproc가 성공적으로 실행되었는지 확인하는 방법
- 13. 메일이 성공적으로 전송되었는지 확인하는 방법
- 14. WatiN을 사용하여 플래시 버튼 처리
- 15. Watin을 사용하여 여러 div에 액세스
- 16. 기존 ASP의 브라우저에서 현재 사용중인 언어를 확인하는 방법은 무엇입니까?
- 17. 모든 브라우저에서 지원되는 CSS 요소를 확인하는 가장 좋은 방법은 무엇입니까?
- 18. 모바일 또는 PC에서 웹 사이트가 열렸는지 여부를 확인하는 방법
- 19. 저장 프로 시저를 사용하여 성공적으로 삭제/upadate 작업을 완료했는지 확인하는 방법은 무엇입니까?
- 20. 앱이 android에 성공적으로 설치되었는지 확인하는 방법
- 21. iPhone 앱이 몇 번 열렸는지 추적하는 방법은 무엇입니까?
- 22. 메시지를 PDF가 열려있는 동안은
- 23. Javascript를 사용하여 사용자 이름을 확인하는 방법은 무엇입니까?
- 24. NSTimer를 사용하여 기능 성능을 확인하는 방법은 무엇입니까?
- 25. JavaScript를 사용하여 통화 가치를 확인하는 방법은 무엇입니까?
- 26. 정규식을 사용하여 연결 유출을 확인하는 방법은 무엇입니까?
- 27. jQuery를 사용하여 ID가 존재하는지 확인하는 방법은 무엇입니까?
- 28. PHP를 사용하여 전화 번호를 확인하는 방법은 무엇입니까?
- 29. Qt를 사용하여 컴퓨터의 상태를 확인하는 방법은 무엇입니까?
- 30. jquery를 사용하여 브라우저를 확인하는 방법은 무엇입니까?