Os métodos de script auxiliares referem-se a um objeto no aplicativo em teste
utilizando o mapa de objetos de teste. O Teste Funcional localiza esses objetos mapeados
sempre que um método é chamado no objeto. Em alguns casos, no entanto, você pode optar para
que o Teste Funcional não faça isso. Por exemplo, você poderia
chamar vários métodos diretamente no mesmo objeto e seria perda de tempo
o Teste Funcional localizar o objeto sempre que um método fosse
chamado. O método TestObject.find
pode ser utilizado para localizar um objeto
sem que o Teste Funcional chame nenhum método no objeto. O TestObject.find
retorna um novo TestObject
contendo um tipo diferente de referência
para o objeto no aplicativo em teste. Essa referência é, às vezes,
chamada de referência de ligação, referência localizada ou referência não mapeada.
Uma referência de ligação retém o acesso ao objeto no aplicativo em teste até que o registro à referência seja explicitamente cancelado. O Teste Funcional cancela o registro de referências de ligação apenas na finalização completa da reprodução, não na finalização do script. Enquanto existir uma referência de ligação no objeto, o Teste Funcional pode evitar que o objeto no aplicativo seja inteiramente livre. Por exemplo, enquanto você mantiver uma referência de ligação a um objeto Java, o objeto Java não será coletado como lixo. É necessário cancelar explicitamente o registro de todas as referências de ligação criadas tão logo não sejam mais necessárias.
Em um script normal do Teste Funcional, os únicos TestObjects
que contêm referências mapeadas são aqueles dos scripts auxiliares.
Os outros TestObjects
contêm referências de ligação e devem ter
o registro cancelado. Por exemplo, o método TestObject.getTopParent
é declarado explicitamente para retornar um TestObject
. Os outros métodos
são declarados para retornar um java.lang.Object
, mas podem retornar um
TestObject
que deve ter o registro cancelado -- por exemplo, TestObject.getProperty
.
O RationalTestScript contém vários métodos que removem referências a
TestObjects
, incluindo com.rational.test.ft.script.RationalTestScript.unregister
e unregisterAll
. (Consulte a Referência à
API do Teste Funcional para obter informações sobre esses métodos.)
Os objetos que são retornados do aplicativo em teste que não são
TestObjects
são objetos que representam um valor. O tipo
desse objeto é referido como classe de valor. Uma classe de valor é uma
cópia do objeto no aplicativo em teste, não uma referência a um
objeto nesse aplicativo. Exemplos comuns de classes de valores
são java.lang.Integer
e java.awt.Rectangle
.
O gravador e os assistentes do Teste Funcional somente geram código que retornam
classes de valores. Por exemplo, uma propriedade que você vê na etapa de teste de
Propriedades do Objeto é aquela cujo valor é uma classe de valor. Você pode chamar TestObject.getNonValueProperties
para localizar as propriedades de referências disponíveis para um determinado objeto. Você
pode chamar TestObject.getMethods
para ver a lista de todos os
métodos que poderiam ser chamados ao chamar TestObject.invoke
.
Cuidado ao lidar diretamente com TestObjects
que contenham referências a objetos no aplicativo em teste, porque
isso pode criar instabilidade no aplicativo. Cancele o registro desses TestObjects
o mais rápido possível.
Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.