Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
Articles
Articles_pt
CreateManager_pt
ValidationAndList_pt




JSPWiki v2.2.33

[RSS]


Hide Menu

CreateActions_pt


Difference between version 6 and version 5:

At line 346 changed 1 line.
!!Clean up the JSP to make it presentable [#6]
!!Formatar o JSP para deixá-lo apresentável [#6]
At line 348 changed 1 line.
Now let's clean up the generated personForm.jsp. Change the ''action'' of the <html:form> to be "savePerson" so validation will be turned on when saving. Also, change the ''focus'' attribute from focus="" to focus="firstName" so the cursor will be in the firstName field when the page loads (this is done with JavaScript).
Agora formataremos o personForm.jsp gerado. Mudaremos o atributo ''action'' do <html:form> para "savePerson" para ligar a validação quanto formos persistir. Mudaremos também o atributo ''focus'' de focus="" para focus="firstName" para o cursor estar no campo firstName quanto a página carregar (isto é feito via Javascript).
At line 350 changed 1 line.
Now if you execute __ant db-load deploy__, start Tomcat and point your browser to [http://localhost:8080/appfuse/editPerson.html?id=1], you should see something like this:
Agora se executarmos __ant db-load deploy__, iniciarmos o Tomcat e apontarmos o browser para [http://localhost:8080/appfuse/editPerson.html?id=1], veremos algo como:
At line 356 removed 1 line.
%%note __NOTE:__ Use the __deploy-web__ target if you've changed any files under the ''web'' directory. Otherwise, use __deploy__ which compiles and deploys.%%
At line 358 changed 1 line.
Finally, to make this page more user friendly, you may want to add a message for your users at the top of the form, which can easily be done by adding text (using <fmt:message>) at the top of the personForm.jsp page.
%%note __NOTA:__ Utilize o alvo(target) __deploy-web__ se foram alterados apenas arquivos do diretórios ''web''. Senão, use __deploy__ que compila e publica.%%
At line 360 changed 2 lines.
!![[Optional] Create a Canoo WebTest to test browser-like actions [#7]
The final (optional) step in this tutorial is to create a [Canoo WebTest|http://webtest.canoo.com] to test the JSPs.
Finalmente, para tornarmos a página mais amigável, poderemos adicionar mensagens aos nossos usuários na parte superior do formulário, o que podemos fazer facilmente adicionando texto (utilizando <fmt:message>) na parte superior da página personForm.jsp.
At line 363 changed 1 line.
;:''I say this step is optional, because you can run the same tests through your browser.''
!![[Opcional] Criar WebTests Canoo para testar ações baseadas no browser [#7]
A parte final (opcional) para este tutorial é criar um [Canoo WebTest|http://webtest.canoo.com] para testar os JSPs.
At line 365 changed 1 line.
You can use the following URLs to test the different actions for adding, editing and saving a user.
;:''Digo que estes testes são opcionais, porque podemos rodar os mesmos testes no browser.''
At line 367 changed 4 lines.
* Add - [http://localhost:8080/appfuse/editPerson.html].
* Edit - [http://localhost:8080/appfuse/editPerson.html?id=1] (make sure and run __ant db-load__ first).
* Delete - [http://localhost:8080/appfuse/editPerson.html?method=Delete&id=1] (or edit and click on the Delete button).
* Save - Click [edit|http://localhost:8080/appfuse/editPerson.html?id=1] and then click the Save button.
Podemos utilizar as seguintes URLs para testar as diferentes ações para adicionar, editar e persistir um Person.
At line 372 changed 1 line.
Canoo tests are pretty slick in that they're simply configured in an XML file. To add tests for add, edit, save and delete, open test/web/web-tests.xml and add the following XML. You'll notice that this fragment has a target named ''PersonTests'' that runs all the related tests.
* Adicionar - [http://localhost:8080/appfuse/editPerson.html].
* Editar - [http://localhost:8080/appfuse/editPerson.html?id=1] (make sure and run __ant db-load__ first).
* Remover - [http://localhost:8080/appfuse/editPerson.html?method=Delete&id=1] (ou edite e clique no botão de remoção).
* Salvar - Acesse [edit|http://localhost:8080/appfuse/editPerson.html?id=1] e então clique o botão 'Salvar'.
At line 374 changed 1 line.
;:''I use CamelCase target names (vs. the traditional lowercase, dash-separated) because when you're typing ''-Dtestcase=Name'', I've found that I'm used to doing CamelCase for my JUnit Tests.''
Testes Canoo são simples, configurados apenas por um arquivo XML. Para adicionarmos testes para as operações CRUD(add, edit, save e delete), abriremos test/web/web-tests.xml e adicionaremos o seguinte XML. Note que este fragmento possui um alvo(target) nomeado ''PersonTests'' que executa todos os testes relacionados.
At line 375 added 2 lines.
;:''Utilizo notação composta(CamelCase) para os nomes de alvos (target)(vs. letras minúsculas tradicionais, separadas por hífen) por causa das execuções utilizando o JUnit, como por exemplo, ''-Dtestcase=Name'', Percebi que estou acostumado com a notação composta para meus testes JUnit.''
At line 378 changed 1 line.
<!-- runs person-related tests -->
<!-- roda os testes relacionados com Person -->
At line 381 changed 2 lines.
description="Call and executes all person test cases (targets)">
<echo>Successfully ran all Person JSP tests!</echo>
description="Chama e executa todos os casos de teste relacionados com Person (targets)">
<echo>Rodou todos os testes JSP de Person com sucesso!</echo>
At line 385 changed 1 line.
<!-- Verify the edit person screen displays without errors -->
<!-- Verifica se a tela de edição da pessoa mostra sem erros -->
At line 387 changed 1 line.
description="Tests editing an existing Person's information">
description="Testa a edição das informações de uma pessoa existente">
At line 392 changed 2 lines.
<invoke description="click Edit Person link" url="/editPerson.html?id=1"/>
<verifytitle description="we should see the personDetail title"
<invoke description="clica no link de edição de pessoa" url="/editPerson.html?id=1"/>
<verifytitle description="devemos ver o título do personDetail"
At line 399 changed 1 line.
<!-- Edit a person and then save -->
<!-- Edita a pessoa e então salva -->
At line 401 changed 1 line.
description="Tests editing and saving a user">
description="Testes editando e salvando a pessoa">
At line 406 changed 2 lines.
<invoke description="click Edit Person link" url="/editPerson.html?id=1"/>
<verifytitle description="we should see the personDetail title"
<invoke description="clica no link de edição de pessoas" url="/editPerson.html?id=1"/>
<verifytitle description="devemos ver o título da edição de pessoas"
At line 409 changed 3 lines.
<setinputfield description="set lastName" name="lastName" value="Canoo"/>
<clickbutton label="Save" description="Click Save"/>
<verifytitle description="Page re-appears if save successful"
<setinputfield description="seta o último nome" name="lastName" value="Canoo"/>
<clickbutton label="Save" description="Clica no botão Save"/>
<verifytitle description="A página reaparece se tudo ocorreu com sucesso"
At line 413 changed 1 line.
<verifytext description="verify success message" text="${person.updated}"/>
<verifytext description="verifica a mensagem de sucesso" text="${person.updated}"/>
At line 418 changed 1 line.
<!-- Add a new Person -->
<!-- Adiciona uma nova Pessoa -->
At line 420 changed 1 line.
description="Adds a new Person">
description="Adiciona uma nova Pessoa">
At line 425 changed 2 lines.
<invoke description="click Add Button" url="/editPerson.html"/>
<verifytitle description="we should see the personDetail title"
<invoke description="clica no botão de Adição" url="/editPerson.html"/>
<verifytitle description="deveremos ver o título do detalhamento da pessoa"
At line 428 changed 4 lines.
<setinputfield description="set firstName" name="firstName" value="Abbie"/>
<setinputfield description="set lastName" name="lastName" value="Raible"/>
<clickbutton label="${button.save}" description="Click button 'Save'"/>
<verifytitle description="Main Menu appears if save successful"
<setinputfield description="seta o firstName" name="firstName" value="Abbie"/>
<setinputfield description="seta o lastName" name="lastName" value="Raible"/>
<clickbutton label="${button.save}" description="Clica no botão 'Salvar'"/>
<verifytitle description="O menu principal reaparece se tudo ocorreu com sucesso"
At line 433 changed 1 line.
<verifytext description="verify success message" text="${person.added}"/>
<verifytext description="verifica a mensagem de sucesso" text="${person.added}"/>
At line 438 changed 1 line.
<!-- Delete existing person -->
<!-- Deleta uma pessoa existente -->
At line 440 changed 1 line.
description="Deletes existing Person">
description="Deleta uma pessoa existente">
At line 445 changed 4 lines.
<invoke description="click Edit Person link" url="/editPerson.html?id=1"/>
<clickbutton label="${button.delete}" description="Click button 'Delete'"/>
<verifytitle description="display Main Menu" text=".*${mainMenu.title}.*" regex="true"/>
<verifytext description="verify success message" text="${person.deleted}"/>
<invoke description="clica no link de edição da pessoa" url="/editPerson.html?id=1"/>
<clickbutton label="${button.delete}" description="Clica no botão 'Deletar'"/>
<verifytitle description="Mostra o menu principal se tudo ocorreu com sucesso" text=".*${mainMenu.title}.*" regex="true"/>
<verifytext description="verifica a mensagem de sucesso" text="${person.deleted}"/>
At line 454 changed 1 line.
After adding this, you should be able to run __ant test-canoo -Dtestcase=PersonTests__ with Tomcat running or __ant test-jsp -Dtestcase=PersonTests__ if you want Ant to start/stop Tomcat for you. To include the PersonTests when all Canoo tests are run, add it as a dependency to the "run-all-tests" target.
Após adicionar isto, seremos capazes de rodar __ant test-canoo -Dtestcase=PersonTests__ com o Tomcat rodando ou __ant test-jsp -Dtestcase=PersonTests__ se quisermos que o Ant inicialize e pare o Tomcat. Para incluir o PersonTests quando todos os testes canoo são executados, adicionaremos sua dependência ao alvo(target) "run-all-tests".
At line 456 changed 1 line.
You'll notice that there's no logging in the client-side window by Canoo. If you'd like to see what it's doing, you can add the following between &lt;/webtest&gt; and &lt;/target&gt; at the end of each target.
Você perceberá que não há registro(logging) na janela cliente do canoo. Se desejarmos ver o que o Canoo está fazendo, podemos adicionar o seguinte código entre &lt;/canoo&gt; e &lt;/target&gt; no final do alvo(target).
At line 468 changed 1 line.
''Next Up:'' __Part IV:__ [Adding Validation and List Screen|ValidationAndList] - Adding validation logic to the personForm so that firstName and lastName are required fields and adding a list screen to display all person records in the database.
''Próximo:'' __Parte IV:__ [Adicionando Validação e Tela de Listagem|ValidationAndList] - Adicionando lógica de validação para o personForm para que o firstName e o lastName sejam campos obrigatórios, e adicionando uma tela de listagem para mostrar todas as tuplas de pessoas no banco de dados.

Back to CreateActions_pt, or to the Page History.