Partilhar via


Testar operações iniciadas pelo usuário envolvendo o Project Professional (Project Server 2010)

 

Aplica-se a: Project Professional 2010, Project Server 2010

Tópico modificado em: 2016-11-30

Este artigo define as operações que envolvem o Microsoft Project Professional como a principal interface do usuário. As operações mais frequentes que pertencem a essa categoria incluem o seguinte:

  • Abrir um projeto

  • Salvar um projeto

  • Publicar um projeto

Este é um artigo recém-publicado. Gostaríamos de receber seus comentários para que possamos oferecer a melhor documentação técnica possível. Envie comentários, perguntas ou preocupações quanto à documentação a epmdocfeedback@microsoft.com.

O Microsoft Project Server 2010 não dá suporte a várias instâncias executadas na mesma sessão do usuário. Dessa forma, para testar vários usuários simultâneos, o uso de Serviços de Terminal será necessário, a menos que você tenha dezenas de servidores. Na outra extremidade, o Agente do Visual Studio 2008 Test não pode ser instanciado em várias sessões na mesma sessão do usuário. Isso poderia dificultar mesmo a integração de testes do Project Professional no Visual Studio Team System 2008 Test Edition. No entanto, uma ferramenta baseada em comunidade capaz de automatizar testes do Project Professional em várias sessões do Terminal Services foi desenvolvida e está disponível no artigo sobre o Microsoft Project 2010: testes de stress do Project Server (https://go.microsoft.com/fwlink/?linkid=190625\&clcid=0x416) na Galeria de Códigos do MSDN. A ferramenta Thick Client Test Test Framework implementa uma arquitetura de controlador-agente que é conceitualmente similar à arquitetura do Agente do Visual Studio 2008 Test Edition. Em todas, o controlador insere informações em um banco de dados do SQL Server, enquanto agentes recuperam informações do trabalho e atualizam informações de status relacionadas a seus trabalhos do mesmo banco de dados. Todos os trabalhos são compostos de uma ou mais operações, implementadas pelo uso de componentes .NET e aproveitando as vantagens do modelo de objeto do cliente do Project Professional.

Os três testes do Project Professional descritos nos parágrafos a seguir são implementados pelo uso da ferramenta Test Framework. A coleta de dados ainda é executada com o Visual Studio Team System 2008 Test Edition executado ao mesmo tempo.

Acessar a home page do Project Web App

Você pode usar a ferramenta Web Test Recorder disponível no Visual Studio 2008 para gravar todas as solicitações HTTP que ocorrem quando um usuário acessa a home page do PWA. Depois de gravar do teste da Web, configure as credenciais para simular usuários diferentes no cenário de carga. Em seguida, permita que o Visual Studio selecione aleatoriamente um usuário em um alista para cada teste executado. É possível associar credenciais de usuário a uma fonte de dados, que pode ler dados de um banco de dados, de um arquivo XML ou CSV ou de qualquer outra fonte de dados que seja conveniente. Como exemplo, você pode usar o arquivo Resources.xml descrito anteriormente como a fonte de dados para credenciais de usuário. A mesma abordagem também pode ser usada para todos os outros testes.

Abrir projetos

O código de exemplo incluído no "Thick Client Test Framework" na solução de "teste de stress do Project Server 2010" mostra como a abertura de um projeto do Microsoft Project Professional pode ser automatizada. O código é dinamicamente carregado e executado pelo agente do Test Framework. A função Open recebe dois parâmetros de entrada. O primeiro parâmetro é o nome do arquivo do projeto a ser aberto (o uso de '*' como o nome do arquivo faz com que a função selecione automaticamente um Project na lista do lado servidor, em ordem sequencial). O segundo parâmetro é um Booliano para indicar se o projeto deve ser aberto em modo somente leitura ou de leitura/gravação. A função retorna o número de milissegundos decorridos para a operação ou zero, em caso de erro. Os dois parâmetros podem ser definidos por meio da interface do usuário do controlador.

Salvar projetos

O teste da Central de Recursos é muito similar ao teste da Central de Projetos porque contém o controle de Grade JavaScript.

Acessar a página Minhas Tarefas

O Microsoft Project Professional só envia as alterações reais ao servidor quando as salva. Dessa forma, para executar um teste de salvamento significativo, você precisa aplicar algumas alterações a um projeto aberto antes de salvá-lo. A imaginação de cada um é o único limite para o que pode ser feito para gerar alterações significativas antes do salvamento. Um exemplo simples é alterar a data de início do projeto, que normalmente afeta todas as tarefas do projeto, gerando uma alteração significativa definida para ser salva.

O código de exemplo incluído na solução Test Framework CodePlex mostra várias funções de exemplo, que podem ser definidas para execução em sequência pela definição de um aplicativo controlador. A seguir, dois exemplos:

  1. Uma função ChangeStartDate, que escolhe uma data aleatória no intervalo [hoje ± 30 dias] e altera a data de início do projeto para a data selecionada aleatoriamente

  2. Uma função Save, que salva o projeto ativo; a função recebe um parâmetro Booliano como entrada que pode ser usada para ignorar a operação de salvamento caso o projeto ativo seja aberto no modo somente leitura.

Ambas as funções retornam o número de milissegundos decorridos na operação ou zero, em caso de erro.

Publicar projetos

O código de exemplo incluído no "Thick Client Test Framework" na solução de "teste de stress do Project Server 2010" mostra como automatizar a publicação de um projeto. A função Publish recebe três parâmetros como entrada. O primeiro é um Booliano indicando se o projeto todo (verdadeiro) ou se somente as alterações (falso) será publicado. O segundo indica a URL para a URL opcional do espaço de trabalho do projeto a ser provisionado. O terceiro é um Booliano indicando se a operação de publicação precisa ser ignorada caso o projeto aberto esteja em modo somente leitura. A função retorna o número de milissegundos decorridos na operação ou zero, em caso de erro.