I am in the last semester of my master study in Germany and going to publish my master thesis. However, I still need about two months to graduate. Could I contact with the professor in advance and apply for a phd position? I have some project experiences and I can provide the extended abstract of my thesis. Is there a chance that the professor could give an interview? I have sent my CV, Grades, Motivation Letter, Project Report and Extended Abstract of Thesis several weeks ago, but there is no response. Is it the reason that I have not got my master degree?
Yes, now is the time to begin the process of application, not after you finish, unless you want to see a gap in your education.
Why you haven't got a reply is hard to say. Most likely is that the professor just isn't ready to think about accepting a student at the moment or is too busy to be interrupted.
But, if you want to find a position, don't depend on any one contact. Cast a broad net. And, preferably, apply to those who have indicated they are currently looking for students. It improves your chances.
If your first contact was "blind" and extensive, it is possible it was just trashed for lack of a current position. You can ask, since it has been several weeks, if there is a chance for a position. You might get a reply to such a mail.
For the sake of this answer, I assume you are looking for a position as a Wissenschaftlicher Mitarbeiter.
Definitely start applying before you finish your Master's thesis. Professors may or may not have open positions (= funding) for PhD students, and if you apply early and they want you to work with them, they may even try to secure funding to enable that. So I don't think that your currently unfinished Master's degree is the issue here.
In my experience, professors are often busy and have long queues of unread e-mails. If you are cold-emailing someone and do not have prior contact, they might not reply at all. I've seen some professors requiring you to put a specific keyword in your subject line when e-mailing them about the possibility of working with them, to show you have informed yourself about the position and their work (e.g. on their home page). Make sure you do that.
It can also be helpful if you know someone else who is already working in the group you are interested in. They already know the ropes and may be able to set up contact. If this is someone at your current university, you could make an appointment during their office hours.
In general, try to apply to positions that are already being advertised, but also ask around for new openings. Academic positions may also be published on social media, e.g. Twitter, Slack channels for conferences, etc. Make sure your application shows that you are interested in the specific position and group you are applying to and that you have read some of their current work.
And, like when applying to a job in industry, don't assume that you will get the first and only job you apply to. Send out multiple applications.