표시되는 이유는 무엇입니까 InteropServices.발 시작하려고 할 때 QTP C#?

StackOverflow https://stackoverflow.com/questions/1002396

  •  05-07-2019
  •  | 
  •  

문제

이 질문은 하나에 사용할 수 있는 다른 언어 VBScript 프로그래밍 방식으로 실행 QTP 테스트?.나는 C#(.Net2.0)프로그램의 인스턴스를 만듭니다 다운로드.응용 프로그램 및 출시 다운로드 전문가(버전 10.0).내 모든 개발을 시험했습니다.

아침에,내가 실행하려고 했 프로그램에서 테스트 기계없이 개발 환경(SharpDevelop2.2.1).을 받았는 오류를 실행하려고 시도하는 경우 프로그램을 더블 클릭하고 윈도우 아이콘이다.콘솔창을 번쩍이 너무 빨리는 무엇을 보였다,그래서 나는 아래로 떨어졌을 명령 프롬프트를 실행되는 프로그램입니다.모든 것이 잘 동작.에서 두 번째로 시도한 프로그램을 실행,그리고 이후의 모든 사람,나는 받을 System.Runtime.InteropServices.COMException 는 것에 의해 발생할 수 COM 체고 RPC_E_SERVERFAULT.기능 문제

virtual public QuickTest.Application LaunchQuickTestPro()
{
    QuickTest.Application qtpApp = new QuickTest.Application();
    qtpApp.Launch();
    qtpApp.Visible = false;
    return qtpApp;
}

qtpApp.Launch(); 라인 던지는 예외입니다.

나는 완전한 손실에는 무엇으로 잘못 될 수 있습니다.그것은에서 잘 작동합 dev 기계 및무 일단 테스트 시스템이다.재부팅이려는 시도를 할 것 같다 좋지 않습니다.나는 상당히 새로운 C#,.NET,COM,그래서 누군가를 희망하는 경험 많은 여기에서 볼 수도 있습니다.나는 가능하게 뭔가가 간단합니다.

업데이트:발견했습난 후 다시 부팅하는 디버그 빌드에서 작동합 테스트 기계 (no 개발 환경),하지만 릴리즈를 구축하지 않는.내가 하려고 재건하고 재배포.사람에 대한 제안을 구축 옵션을 검사하 릴리스 구축?

2:그것은 모두 자료(디버그 및 자료)가 제대로 작동 후 신선한 재부팅합니다.는 경우 시도하고 실행 중 두 번째,내가 오류가 있습니다.추가했부 Main() 방법 나 ExitQTP() 방법은 아래.

나는지 궁금하다면 문제의 일부 나 오해하는 방법 ref 을 사용해야 합니다. 그러나,코드가 모든 시간에서 실행하는 경우 IDE(SharpDevelop2.2.1).

그것은 나타나지 않는 무언가를하지 않을 제대로 정리한 후에 처음 실행하지만,I don't know what.보고 작업 모니터,QTP*프로세스가 없어 기대합니다.가 있다고 생각할 수 있는 세 번째는 프로세스를 일으키는 문제가 없지만,그 수를 분리하는

    //Program starts here
    [STAThread]
    public static void Main(string[] args)
    {      
        string configFileName = 
            ConfigurationManager.AppSettings.Get("TestPathsConfigFile");

        TextReader configFile = new StreamReader(configFileName);
        QTPLauncher launcher = new QTPLauncher();
        string testName = null; 
        try
        {
            Debug.WriteLine("Creating QuickTest.Application object...");
            QuickTest.Application qtpApp = launcher.LaunchQuickTestPro();
            Debug.WriteLine("Successfully created QuickTest.Application object...");

            while((testName = configFile.ReadLine()) != null)
            {
                if((testName != string.Empty) &&
                   (!(testName.TrimStart()).StartsWith(COMMENT_START)))
                {
                    Debug.WriteLine(testName);

                    launcher.ExecuteQTPTest(testName, ref qtpApp);

                }
            } 

            configFile.Close(); 

           ... //code unrelated to problem removed.

            configFile = null;
            launcher.ExitQTP(ref qtpApp);
        }
        catch(System.Runtime.InteropServices.COMException ce)
        {
            Console.Error.WriteLine(ce.StackTrace);
        }
    }

//Exits QTP
virtual public void ExitQTP(ref QuickTest.Application qtpApp)
{
    qtpApp.Quit();
    qtpApp = null;
}
도움이 되었습니까?

해결책

나는 문제는 당신이 제대로 닫(종료)의 QT 용 인스턴스(을 확인하는 경우 작업 관리자는 당신이 볼 수있는 그것을 실행하는)그는 이후 실행이 실패하면 초기화합니다.

가 블로그 게시물을 권한을 부여 홀리데이를 자동화하는 QT 위해서 실행합니다.많은 동일한 원칙을 적용할 것입니다.

http://ozgrant.com/2008/02/28/running-hp-quicktest-professional-ui-tests-with-team-build/

하지 않을 경우 문제를 필요에 대한 자세한 정보를 제공으로 무엇을 하는지 QT 응용 프로그램 개체입니다.

다른 팁

다음과 같은 명령을 사용합니다.

Object oQTPapp;

oQTPapp = Server.CreateObject("QuickTest.Application");

Application qtpApp = (Application) oQTPapp;

바하는 문제입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top