Coffee Corner Discussions
Get to know other SAP Community members during your coffee break. Join discussions on a variety of topics in a casual environment.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SAP Community Code Challenge - Testing UI5 Apps with wdi5

nicoschoenteich
Developer Advocate
Developer Advocate
19,573
We have a new code challenge for you as part of the Community Spotlight for the month of June. This time it's about testing UI5 apps with wdi5. Check out the corresponding blog post explaining all the details of the challenge, how to take part, and how to submit your entry.

This thread is the place to share your experience with the challenge and what kind of app you are building. Feel free to ask any questions (technical or non-technical) and leave your comments. Also feel free to post a link to your pull request as your challenge entry.

We are very much looking forward to your ideas and contributions! 😃
47 REPLIES 47
Read only

Former Member
17,698

My Entry with a minimal app to pass tests for week1, nothing fancy 🙂

https://github.com/SAP-samples/sap-community-code-challenge-ui5/pull/7

Read only

nicoschoenteich
Developer Advocate
Developer Advocate
17,676

I also submitted my entry for week1, who can guess what kind of app I am planning to build? Any golf fans out here? ️🏌🏼‍

https://github.com/SAP-samples/sap-community-code-challenge-ui5/pull/8

Read only

enric101
Active Contributor
17,514

My pull request is ready after passing all the tests, all in green!

https://github.com/SAP-samples/sap-community-code-challenge-ui5/pull/9

Thanks!

Read only

enric101
Active Contributor
Read only

nailspahija
Explorer
17,220

Here is my Pull Request for my very simple ui5 app. 😃

https://github.com/SAP-samples/sap-community-code-challenge-ui5/pull/17

Read only

0 Likes
16,461

Pull request updated for week2 code challenge

Read only

Former Member
17,210

Hi colleagues! Thanks for the great challenge 👍

Please, find my entry here: https://github.com/SAP-samples/sap-community-code-challenge-ui5/pull/16

Read only

rb
Contributor
16,893

Hi,

We can use the same pull request right?

Is there a way to reduce the output of npm run ci-tests? Loglevel in config did not seem to do much,

As a wish for the next week I would prefer some test cases which are more Fiori Floor Plan oriented. In week 2 the additional Button to navigation is not really best practice if we start with a list 🙂

Read only

nicoschoenteich
Developer Advocate
Developer Advocate
16,089

Hi there!

Sorry for the late reply.

Yes, you can use the same PR. 
There are two places in the wdio.conf.js where you have to set the logLevel (one global config and one wdi5 specific), make sure you set them both to 'silent'.
Thanks a lot for your suggestions and feedback. You are right, the app we are building here doesn't follow best practices. It was more important to us that it was 'easy to start with' and that people would get familiar with wdi5 in the first place, and I think that was achieved 😉 

Read only

16,775

Pull request updated for week2 

Read only

16,328

Updated for week 3... not sure where this thing is going. I hope to see some back & forth navigation testing for duplicate IDs 😉

Read only

former_member10326
Product and Topic Expert
Product and Topic Expert
Read only

16,975

Interesting idea with the todo list, let's see if you'll tick all the boxes 😉

Read only

0 Likes
16,387

Week 2 submitted

 

Read only

16,352

Week 3 Summited

Read only

ArnaudBuchholz
Product and Topic Expert
Product and Topic Expert
16,879

I wouldn't use control.firePress() to simulate a user click. Some controls expect parameters in the firePress internal UI5 method. Why not using .click instead and let UI5 fill these parameters ?

Read only

16,876

I agree.

Read only

0 Likes
16,089

Hi @ArnaudBuchholz, good idea, thanks for the suggestion. There is also a press() method provided by wdi5 that calls click() under the hood so you can use it on combination with wdi5 selectors (see wdi5 documentation). I will keep this in mind for future projects 🤙

Read only

former_member5334
Participant
0 Likes
15,969

Hi @nicoschoenteich 

Week 1,2,3 https://github.com/SAP-samples/sap-community-code-challenge-ui5/pull/40

I have idea for the next challenge. It is a Typescript in Sapui5. Maybe it will be interesting for me and some community members(I think)

Read only

15,960

Hi @former_member5334, definitely a great idea. More content on TypeScript in UI5 will come in the future 🤙

Read only

Dzianis_Antanouski
Discoverer
Read only

ArnaudBuchholz
Product and Topic Expert
Product and Topic Expert
0 Likes
15,909

It looks like week4 tests are "empty". In any case, they are passing without change on my PR.

Read only

15,858

That is correct. The task is to write your own tests (minimum 2) 😉

Read only

MioYasutake
SAP Champion
SAP Champion
0 Likes
15,859

Week3 test "should have button that opens dialog" sometimes passes and sometimes fails. I use fragment and load the fragment asynchronously. 

https://github.com/miyasuta/sap-community-code-challenge-ui5/tree/week3

 

Read only

0 Likes
15,852

For week4 test, I'm writing the following code, but I sometimes get "navButton.firePress is not a function" error. Same again, sometimes pass, sometimes fail...

 

 

 

    it("Should go back to main page", async () => {
        const navButton = await browser.asControl({
            selector: {
                id: "navButton",
                viewName: Detail._viewName
              }
        })
        await navButton.firePress()
        const url = await browser.getUrl()
        expect(url).toMatch(/.*\/index.html#*$/)
    })

 

 

 

My week4 code here.

https://github.com/miyasuta/sap-community-code-challenge-ui5/tree/week4

Read only

15,698

I have the same issues you've described. I had to add this "dummy" test with the browser title to give it some timeout.

As I've seen in the browser, detail page doesn't have enough time to be opened. Looks like await Detail.open() doesn't actually wait until the page is fully rendered.

Read only

0 Likes
15,661

Hi @Former Member and @MioYasutake,
I also observed something similar a while back (https://github.com/ui5-community/wdi5/issues/259). Can you maybe try and remove id="app" and see what happens? Would be interesting to see if this is the same issue.

Read only

0 Likes
15,650

Hi @nicoschoenteich ,

Thank you for your response. I have tried removing id="app" from App.view.xml, but as my Main view is embedded into App view, this broke navigation and the page is not properly displayed.

Read only

0 Likes
15,590

Of course it that brakes navigation... My bad.

Read only

15,627

Hi @nicoschoenteich, I've tried that, but it also broke the app navigation.

I think I found what's wrong: should we add await here? https://github.com/SAP-samples/sap-community-code-challenge-ui5/blob/main/webapp/test/e2e/pageObject...

Read only

15,649

Hi @Former Member,

Thank you for the solution provided. It worked for me, too.