Sachverhalt: A. Die Staatsanwaltschaft des Kantons Solothurn verurteilte X._ mit Strafbefehl vom 22. März 2011 wegen mehrfacher Übertretung des Betäubungsmittelgesetzes zu einer Busse von Fr. 200.--. X._ erhob Einsprache. B. Der Amtsgerichtsstatthalter von Solothurn-Lebern sprach X._ am 7. September 2011 vom Vorwurf der mehrfachen Übertretung des Betäubungsmittelgesetzes vollumfänglich frei. Gegen diesen Entscheid führte die Staatsanwaltschaft Berufung. C. C.a Das Obergericht des Kantons Solothurn wies das Ausstandsbegehren von X._ gegen den Instruktionsrichter und den Gerichtsschreiber am 8. Mai 2012 ab bzw. erklärte dieses für gegenstandslos. Es sprach X._ am 10. Mai 2012 wegen mehrfacher Übertretung des Betäubungsmittelgesetzes (Art. 19a Ziff. 1 BetmG), begangen vom 10. Mai bis 3. August 2009, schuldig. Von einer Bestrafung sah es ab. Für die Zeit von Februar 2009 bis 9. Mai 2009 gelangte es zufolge Eintritts der Verjährung zu einem Freispruch. C.b Das Obergericht wirft dem Amtsgerichtsstatthalter eine willkürliche Sachverhaltsfeststellung vor. Es hält für erwiesen, dass X._ in der Zeit vom 10. Mai bis Juli 2009 einmal monatlich Kokain zum Eigenkonsum erwarb und dieses konsumierte und dass er am 3. August 2009 Anstalten traf, um für Fr. 50.-- Kokain zum Eigenkonsum zu kaufen. D. X._ beantragt mit Beschwerde in Strafsachen und subsidiärer Verfassungsbeschwerde, den Beschluss vom 8. Mai 2012 und das Urteil vom 10. Mai 2012 aufzuheben, das Urteil des Amtsgerichtsstatthalters vom 7. September 2011 zu bestätigen und die Beschwerdesache zur Neuregelung der Verfahrens- und Parteikosten des erst- und zweitinstanzlichen Verfahrens an das Obergericht zurückzuweisen. Er ersucht um aufschiebende Wirkung der Beschwerde.