2016-07-31 12:38 GMT+02:00 ludovic coues <[email protected]>: > Hello, > > I am trying to test if a view is displaying a form with an input > element with name=username. > > Currently, I have tried a lot of variation around > `self.assertContains( response, "<input name=\"username\">", > html=True)` but none work. > I assume that doesn't work because the view have a field input with > name=username but also autofocus="", a class and a bunch of other > attribute. > > I could extract the form from the context and check the field username > from the form is displayed in the view but I'm not ok with that > solution. I'm testing if there is a input with name=username, not a > bunch of unrelated attribute. > > I could also use a LiveServerTestCase and selenium but that look like > a bit overkill for my need. lxml is another option but it would bring > more dependencies. > > A bit of help would be welcome :) > > > > -- > > Cordialement, Coues Ludovic > +336 148 743 42 > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAEuG%2BTah74hdZMv%2BwdZPPq5PLaJ%3DhxOFMNXuVLfFYSw2Uz4N0w%40mail.gmail.com > . > For more options, visit https://groups.google.com/d/optout. >
Django usually creates the inputs the same way, so what I do in my tests is to first dump the content of the response body on the screen and then copy the input statement from there. What you probably need is '<input name="username"', because it doesn't matter for your test if the html tag is closed. So you should be fine with: self.assertContains(response, '<input name="username"') -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CALXYUbmmotLwzjZY6ZZnAqy21xqZN1%3DiE7ah3g5JxFgEw-POZg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

